我已经阅读了一些使用redux进行反应原生导航方法的示例,但大多数仍然依赖于在组件中进行导航,如:
this.props.loginUser().then(this.props.navigation.push('Home"));
其中this.props.LoginUser()
将发送LOGGING_IN
和LOGGED_IN
行动。
将导航作为app状态的纯函数(在组件外部)处理似乎更清晰。即,当我的auth reducer更新状态为loggedIn: true
时,某些导航'reducer'会确定应用程序应该在主屏幕上并且只是去那里。对LOG_OUT
行动也是如此。
有没有最佳实践来实现这样的目标?在反应导航中,我觉得我正在与框架作斗争来实现类似的东西。
答案 0 :(得分:0)
如果您想完全不使用导航器,可以使用的一个选项是让减速器跟踪您所在的页面,然后根据减速器中的导航状态对页面进行条件渲染。但是,如果这样做,您将无法访问导航栏的细节,并让导航器为您跟踪页面堆栈。因此,如果您想使用允许您作为常见用例在逻辑流程中向前和向后导航的页面,我建议您坚持使用当前范例。