#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 в том, что при использовании двух разных заголовков создается отскок.