React Navigation重定向在组件中的redux存储更改

时间:2017-09-25 09:17:52

标签: reactjs redirect redux native react-navigation

我正在寻找一个基于redux动作的重定向的好解决方案,使用react-navigation

当前情况: 在App.js中,我初始化了redux存储并在其中呈现Main.js组件。 在主要的comp。我等待redux-persist的rehydrate完成(之后每个同步动作也结束)。 如果它完成了,我渲染Navigator comp .. (如果有可能我想在这里调用auth令牌检查器操作并根据redux存储值重定向(isAuth)。现在我不知道如何。)

导航器首先加载LoginScreen comp。我在挂载发生之前调用auth令牌操作(cWillMount)。 问题是我不能将重定向代码放在一个可以重新运行reudx存储更改的方法中(例如:render)。

当存储变量发生变化时,我应该在哪里放置重定向代码?

1 个答案:

答案 0 :(得分:1)

如果您还没有,可以尝试将react-navigation集成到Redux。 Official documentationthis article会有所帮助。 管理Redux中的所有内容可能是值得的,因为您可以将导航逻辑移动到缩减器和操作中。

对于令牌的情况,我假设您使用AsyncStorage存储了令牌。 Here您可以找到我的示例项目,我只实现OAth2.0授权流程。

我使用'Splash'屏幕从AsyncStorage加载令牌。然后,根据结果,应用程序导航到“欢迎”屏幕或“主要”屏幕。在“欢迎”屏幕上,用户可以重定向到授权发生的登录网页视图。

我使用Redux Thunk来处理副作用。我希望我的实施可以帮助你。