【发布时间】:2020-07-23 10:38:00
【问题描述】:
我正在尝试使用本教程构建受保护的路由器/身份验证流程。 https://reactnavigation.org/docs/auth-flow/
身份验证流程的渲染函数如下所示:
render() {
const Stack = createStackNavigator();
return (
<>
{this.state.loading ?
<>
<View><Text>Loading</Text></View>
</>
:
< >
<Stack.Navigator>
{this.state.authenticated ?
<>
<Stack.Screen name="Home" component={Home} />
<Stack.Screen name="SignOut" component={SignOut} />
</>
:
<>
<Stack.Screen name="Register" component={Register} />
<Stack.Screen name="Login" component={Login} />
</>
}
</Stack.Navigator>
</>
}
</>
)
}
当我已登录并想退出时,如何导航回“注册”或“登录”屏幕?基于这个流程,他们两个都不会在我的导航堆栈中,因为我已经通过了身份验证。
如果我尝试这样做,我会从我的退出屏幕中收到由于上述原因导致的错误。我该如何解决这个问题?
<Button
title="Go to Register"
onPress={() => navigate('Register')} //ERROR DUE TO SCREEN NOT FOUND
/>
【问题讨论】:
标签: react-native react-native-navigation react-navigation-v5