【发布时间】:2017-03-31 16:13:37
【问题描述】:
我是 react native 的新手,目前正在开发一个需要登录的 react-native 应用程序。登录成功后,视图变为主页。 问题是在我关闭并重新打开应用程序后,它再次显示 LoginPage。有没有办法将初始路由重定向到另一个页面强>
class Main extends Component {
_renderScene(route, navigator) {
if (route.id === 1) {
return <LoginPage navigator={navigator} />
} else if (route.id === 2) {
return <HomePage navigator={navigator} />
} else if (route.id === 3) {
return <DetailPage navigator={navigator} />
} else if (route.id === 4) {
return <CreateBookingPage navigator={navigator} />
}
}
_configureScene(route) {
return Navigator.SceneConfigs.PushFromRight;
}
render() {
return (
<Navigator
initialRoute={{id: 1, }}
renderScene={this._renderScene}
configureScene={ () => { return Navigator.SceneConfigs.PushFromRight; }} />
);
}
}
/////在进行了一些更改后,我进入了这个但仍然呈现登录是我做错了什么///////
componentWillMount() {
AsyncStorage.getItem('key').then( (value) => {
if(value==="yes") {
this.setState({ loader: false, logged: true})
} else {
this.setState({ loader: false })
}
})
}
render() {
const routeId = this.state.logged ? 2 : 1;
if(this.state.loader) {
return (
<View /> // loading screen
);
}
return (
<Navigator
initialRoute={{id: routeId }}
renderScene={this._renderScene}
configureScene={ () => { return Navigator.SceneConfigs.PushFromRight; }} />
);
}
【问题讨论】:
-
根据用户登录状态动态设置initialRoute值。
-
你知道如何动态设置初始路由吗......你可以在这里添加示例
-
根据您的要求,您需要更新 id 值。像 initialRoute={{id: (condition ? 1: 2) }}
-
你能添加示例吗?我真的不知道如何在我的代码中添加这个
标签: react-native