【发布时间】:2020-10-22 03:23:00
【问题描述】:
我正在使用 React Navigation 5 构建身份验证流程。在阅读文档时,似乎最好执行三元操作。我在登录(从身份验证堆栈到主选项卡)和注销(从主选项卡到身份验证堆栈)时遇到问题。我不断收到消息“行动 NAVIGATE 没有被任何导航器处理 - 你有一个名为 Login 的屏幕吗?”这是我的 App.js 的一部分
render() {
if (this.state.isLoading) {
return <SplashScreen />;
}
return (
<NavigationContainer>
<Stack.Navigator>
{this.state.userToken == null ? (
// No token found, user isn't signed in
<>
<Stack.Screen name="Login" component={LoginScreen} />
<Stack.Screen name="ForgotPassword" component={ForgotPasswordScreen} />
<Stack.Screen name="SignIn" component={SigninScreen} />
</>
) : (
// User is signed in
<Stack.Screen name="Main" component={MainTabs} />
)}
</Stack.Navigator>
</NavigationContainer>
)
}
当我注销时,我发出以下函数来清除存储并导航回我的身份验证屏幕
onPress={() => AsyncStorage.clear().then(this.props.navigation.navigate('Login'))}
救命!
【问题讨论】:
标签: react-native react-navigation react-navigation-stack react-navigation-v5 react-navigation-bottom-tab