在Flutter Redux应用程序中,我有一个身份验证中间件,该中间件负责对外部身份验证服务的用户身份验证调用。
如果我想在某些响应上重定向到另一个屏幕(例如,登录操作成功后转到主屏幕)-是否建议在中间件中进行处理?还是有其他最佳实践方法?
答案 0 :(得分:1)
我以前在网络上使用redux,建议在middleware中处理导航,您可以在中间件中调用Navigator.of(context).pushNamed("youRoute")
,也可以使用NavigationMiddleware。
答案 1 :(得分:0)
通常,dispatch
可以触发任何操作,包括自定义语法{ api: }
或{ location: }
。但是,为了使Redux能够理解{ type: }
之外的其他知识,redux
中间件可能会更好地处理它们。例如,https://github.com/reactjs/react-router-redux
因此,我们可以在任何地方执行dispatch(push('/foo'))
,包括在任何重击动作或任何动作中执行。
我认为中间件的顺序可能很重要,因此请注意。因为中间件是一个一个地链接的,所以如果您想让thunk做出反应,那么可能需要稍后连接路由器中间件。