react-native 根据授权设置第一页

react-native set first page depending on authorize

如果用户未授权或项目列表,如何显示登录页面?

我正在使用 react-native-router-flux

<Router>
    <Scene key="user">
        <Scene key="register1" component={RegisterStep1} title="register1"/>
        <Scene key="register2" component={RegisterStep2} title="register2"/>
        <Scene key="register3" component={RegisterStep3} title="register3"/>
        <Scene key="login" component={Login} title="Login"/>
    </Scene>
    <Scene key="items" type={ActionConst.REPLACE}>
        <Scene key="list" component={ItemList} title="Items list"/>
        <Scene key="detail" component={ItemDetail} title="Item detail"/>
    </Scene>
</Router>

对吗?

我应该去登录场景或者物品->列表场景。

您可以在主组件(具有 Router 组件的组件)的 componentWillMountcomponentDidMount 生命周期方法中检查用户是否获得授权,并在所有操作后调用 Actions.items()进展顺利。否则转到登录屏幕。

另外我推荐两件事:

-按照 react-native-router-flux

的建议将您的场景放在 root 场景中

-将您的屏幕之一设置为初始屏幕(使用场景的道具:initial={true} 以便用户可以在您的生命周期方法起作用之前看到一些东西。