У меня проблема с реагирующей навигацией.вот мои навигационные коды.
Navigation.js
const StartStack = createStackNavigator({
First: EmptyScreen,
Splash: SplashScreen
},
{
transitionConfig: () => fromBottom(),
});
const AppStack = createStackNavigator({
Home: TabSet
},
{
transitionConfig: () => fromRight(),
});
const AuthStack = createStackNavigator({
SignIn: SignInScreen,
SignUp: SignUpScreen,
ForgotPassword: ForgotPasswordScreen
},
{
transitionConfig: () => fromTop(),
});
export default createAppContainer(createSwitchNavigator({
Start: StartStack,
Auth: AuthStack,
App: AppStack,
},
{
initialRouteName: 'Start',
}));
Tabset.js
import React , { Component } from 'react';
import { View } from 'react-native';
import * as navOptions from '../../navigate/navigationOptions';
import BackgroundImage from '../../components/BackgroundImage';
class TabSet extends Component{
static navigationOptions = { headerStyle: navOptions.headerStyle};
render(){
return(
<View>
<BackgroundImage>
</BackgroundImage>
</View>
);
}
}
export default TabSet;
NavigationOptions.js
export const headerStyle = {
display:'none'
}
BackgroundImage.js
import React , { Component } from 'react';
import { View , ImageBackground , StyleSheet } from 'react-native';
import backgroundImage from '../../assets/images/backgroundImage.png';
class BackgroundImage extends Component{
render(){
return(
<View>
<ImageBackground
source={backgroundImage}
style = {styles.bgImg}
imageStyle = {{resizeMode : 'stretch'}}>
{this.props.children}
</ImageBackground>
</View>
)
}
}
const styles = StyleSheet.create({
bgImg : {
width: '100%',
height: '100%'
}
})
export default BackgroundImage;
Я создаю три стека, таких как AppStack, StartStack и AuthStack.Они используются в createAppContainer () и надеются получить доступ к ним как
this.props.navigation.navigate ('App')
... У меня есть доступ к
this.props.navigation.navigate ('Start')
и
this.props.navigation.navigate ('Auth')
.Эти два стека работают хорошо.Затем я перенаправляю с экрана Вход AuthStack до AppStack , используя
this.props.navigation.navigate ('App'))
Я вижу первую страницу AppStack, экран Home отображается и неожиданно возвращается к экрану AuthStack SignIn .Затем я снова пытаюсь ориентироваться, снова происходит то же самое.Я использую избыточность и делаю встроенную навигацию.Потому что я думаю, что это излишняя проблема.Но проблема все еще существует.Все работает хорошо, но каждый раз, когда я перехожу на AppStack , он возвращается к AuthStack .Кто-нибудь может решить это, пожалуйста, помогите мне!