所以我有一个自定义导航器,我用它来滑动后退导航。另外,我为发布图片而道歉,并且出于某些真正的原因而没有粘贴代码。我希望你看看图像。
以下是自定义导航器的代码。 https://gist.github.com/shubham6996/985568f49b2511dec2438c624fe259d0
const SwipeMainStack = () => {
return(
<Navigator>
<Route name="LoggedOutHome" component={LoggedOutHome} />
<Route name="SignUp" component={SignUp} />
<Route name="EmailAuth" component={EmailAuth} />
<Route name="Login" component={Login} />
<Route name="EmailLogin" component={EmailLogin} />
<Route name="EmailSignUp" component={EmailSignUp} />
<Route name="SignupUsername" component={SignupUsername} />
</Navigator>
);
}
const stack = createStackNavigator({
SwipeStack: {screen: SwipeMainStack},
TabHolder: {screen: TabHolder},
}, {
initialRouteName: 'SwipeStack',
headerMode: 'none',
});
export default createAppContainer(stack);
所以我的导航工作原理是,当我导航到SignUp
屏幕时,它带我到EmailSignUp
然后带我去EmailAuth
。
我可以使用LoggedOutHome
从EmailAuth
导航到this.props.navigator.push('SignUp')
屏幕,但是我无法从EmailAuth
导航到SignUp
如果您定义如下所示的SwipeMainStack,那么它应该可以工作。
const SwipeMainStack = createStackNavigator({
LoggedOutHome: LoggedOutHome,
SignUp: SignUp,
EmailAuth:EmailAuth
Login:Login
EmailLogin:EmailLogin
EmailSignUp:EmailSignUp
SignupUsername:SignupUsername
})
const stack = createStackNavigator({
SwipeStack: SwipeMainStack
TabHolder: TabHolder,
}, {
initialRouteName: 'SwipeStack',
headerMode: 'none',
});
export default createAppContainer(stack);