【发布时间】:2017-08-14 02:30:24
【问题描述】:
很抱歉,如果有一个明显的解决方案,但我发现 react-navigation 的文档不是很清楚,这令人沮丧,因为它现在作为官方的 react-native 导航库提供。
在我的索引文件中,我调用 asyncstorage 来检索登录时生成的访问令牌。然后我想在登录时返回受保护的堆栈,如果没有返回欢迎堆栈。
render() {
if (this.state.isLoggedin === true) {
return <Protected />;
}
else {
return <Root />;
}
}
这是我的路由器
export const Root = StackNavigator({
Welcome: { screen: Welcome },
Login: { screen: Login },
Register: { screen: Register }
});
export const Protected = StackNavigator({
Conversations: { screen: Conversations }
});
当我重新加载应用程序时,这是有效的。我不明白的是如何在按下时从“根”导航到“受保护”,我不希望这些路线在同一个 StackNavigator 中。有没有办法做到这一点,还是我需要更改整个结构并在一个 stacknavigator 下同时拥有 Root 和 Protected?
再次抱歉,如果这很明显,但我已经使用 react native Navigator 在它被弃用之前构建了一个聊天应用程序,并且没有发现它几乎令人困惑。我觉得应该有更好的文档和示例来说明真实世界应用程序的结构。
【问题讨论】:
标签: android ios react-native react-navigation