Flutter Redux-处理到中间件屏幕的导航

时间:2019-03-22 08:07:44

标签: redux flutter flutter-redux

在Flutter Redux应用程序中,我有一个身份验证中间件,该中间件负责对外部身份验证服务的用户身份验证调用。

如果我想在某些响应上重定向到另一个屏幕(例如,登录操作成功后转到主屏幕)-是否建议在中间件中进行处理?还是有其他最佳实践方法?

2 个答案:

答案 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做出反应,那么可能需要稍后连接路由器中间件。