Как отключить эффект отскока iOS при загрузке сцены?

#react-native #react-native-ios #react-native-navigation #native-base #react-native-router-flux

#react-native #реагировать-родной-ios #react-native-навигация #native-база #react-native-router-flux #react-native-ios

Вопрос:

Моя сцена подпрыгивает всякий раз, когда она загружается. Я хочу отключить этот эффект. Я провел много поисков, но не смог найти ни одного решения. Я прикрепляю gif для анимации здесь:

Я пытался найти решение, но ничего не нашел. Ниже приведены мои зависимости:

 "react": "16.11.0",
"react-native": "0.62.2",
"react-native-gesture-handler": "~1.6.0",
"react-native-reanimated": "~1.9.0",
"react-native-router-flux": "^4.2.0",

  

Наконец, после долгой отладки я обнаружил, что проблема связана с Nativebase. У меня разные заголовки для разных страниц:

Код, подобный приведенному ниже:

App.js

 <Router>
    <Stack key="root">
        <Scene openDrawer={this.openDrawer} initial navBar={HomeHeader} key="home" component={Home} />}
        <Scene openDrawer={this.openDrawer} navBar={Header} key="profile" component={User} />
        <Scene openDrawer={this.openDrawer} navBar={Header} path="/support" key="support" component={Support} />
    </Stack>
</Router>
  

Домосед:

 <HeaderBase>

            <Left>
                <Button onPress={() => Actions.pop()} transparent>
                    <Icon name='arrow-back' />
                </Button>
            </Left>
            <Body>
                <Title onPress={() => Actions.support()}>HeaderBase</Title>
            </Body>
            <Right>
                <Button transparent>
                    <Icon name='menu' />
                </Button>
            </Right>
        </HeaderBase>
  

Заголовок:

         <Left>
                <Button onPress={() => Actions.pop()} transparent>
                    <Icon name='arrow-back' />
                </Button>
            </Left>
            <Body>
                <Title onPress={() => Actions.support()}>HeaderBase</Title>
            </Body>
            <Right>
                <Button transparent>
                    <Icon name='menu' />
                </Button>
            </Right>
        </HeaderBase>
  

Если я изменю <Scene openDrawer={this.openDrawer} initial navBar={HomeHeader} key="home" component={Home} />} на <Scene openDrawer={this.openDrawer} initial navBar={Header} key="home" component={Home} />} (сделать заголовок одинаковым для всей сцены), сработает.

Комментарии:

1. Учитывая, что это происходит с вашим кодом, возможно, вам придется поделиться некоторым кодом или создать пример кода, чтобы продемонстрировать проблему

2. @manishg на самом деле проблема не в коде, а в библиотеке react-native-router-flux . Этот эффект отскока выполняется автоматически, и я не могу найти опцию для его отключения. Я поднял проблему на Github, но ответа нет

3. Вы видите ту же проблему с кодом примера flux?

4. @manishg наконец-то я смог найти проблему. Проблема с nativebase в том, что при использовании двух разных заголовков создается отскок.