Я пытаюсь заставить реагировать навигацию с помощью типичного шаблона SplashScreen => LoginStack => LoggedInAppStack.Проблема в том, что createStackNavigator не ведет себя как createSwitchNavigator в отношении отображения экрана
Я хочу использовать LinearGradient, чтобы у меня был фоновый цветной экран.Таким образом, корневой навигатор должен находиться рядом с LinearGradient в компоненте приложения.
const TabNavigator = createBottomTabNavigator({
Home: { screen: HomeScreen }
})
const AppNavigator = createStackNavigator({
Tab: TabNavigator
})
const AppContainerNav = createAppContainer(createSwitchNavigator(
{
Splash: SplashScreen,
Auth: AuthNavigator,
App: AppNavigator
},
{
initialRouteName: 'Splash'
}
))
export default class App extends React.Component {
componentWillMount() {
store.dispatch(loadFont())
}
render() {
return (
<Provider store={store} >
<LinearGradient
colors={['orange', 'red', 'violet']}
style={{
position: 'absolute',
left: 0,
right: 0,
top: 0,
height: '100%'
}}
/>
<View style={styles.container}>
<AppContainerNav />
</View>
</Provider>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
paddingTop: '10%',
paddingBottom: '1%',
paddingRight: '1%',
paddingLeft: '1%'
}
})
С этим кодом появляется первый заставочный экран.Но при входе в AuthNavigator stackScreen экран становится пустым, только с цветным экраном с линейным градиентом.
Когда я избавляюсь от контейнера представления, все работает нормально, за исключением того, что LinearGradient больше не отображается (белый фоновый экран).
Большое спасибо за помощь:)