我们正在使用mobx
和react-native-router-flux
。我想基于mobx
商店的值加载不同的路线。我正在努力了解如何做到这一点。所以我从我的商店买到这个
const { authenticated, profile: { role } } = stores.authStore;
我把这个角色作为道具传给<PrivateRouter role={role} />
。我想根据<Scene>
的值选择一个role
。所有这些都发生在App.js
文件中。有关如何做到这一点的任何想法?我是mobx和RNRF的新手,所以我不清楚如何实现这个目标。我是否正确思考这个用例?
我终于解决了。所以这是解决方案,以防有人遇到同样的问题。
问题是profile
在用户通过身份验证之前不会暴露。所以应用程序找不到它。解决方案如下:
const render =
authenticated === undefined ? (
<LoadingScreen />
) : authenticated === true ? (
stores.authStore.profile.role === 'USER' ? (
<home />
) : (
<TrainerHome />
)
) : (
<PublicRouter />
);
return (
<Root>
<Provider {...stores}>{render}</Provider>
</Root>
);
希望这为未来的问题提供帮助。