0

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

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

4

2 回答 2

1

我曾经在 web 中使用 redux,建议在中间件中处理导航,您可以在中间件中调用Navigator.of(context).pushNamed("youRoute"),也可以使用NavigationMiddleware

于 2019-03-22T10:31:26.390 回答
0

通常,dispatch可以触发任何操作,包括自定义语法{ api: }{ location: }. 但是为了让 redux 理解这些以外的内容,中间件{ type: }可能会更好地处理它。redux例如,https://github.com/reactjs/react-router-redux

所以我们可以在dispatch(push('/foo'))任何地方做,包括在任何 thunk 动作或任何动作中。

我认为中间件的顺序可能很重要,所以要注意这一点。因为中间件是一个接一个链接的,如果你想让 thunk 先做出反应,那么路由器中间件可能需要稍后连接。

于 2019-03-22T12:14:03.473 回答