从redux-saga或任何自定义中间件进行路由

时间:2019-11-08 15:06:23

标签: reactjs redux react-router redux-saga

我正在使用React和Redux,一个应用程序的React-Router来处理副作用,我正在使用redux-saga库。我很想知道从我的萨加斯出发的路线。例如。

考虑事件流程

  1. USER REGISTERS和应用程序调度SIGN_UP操作
  2. 一个传奇人物“采取”了SIGN_UP动作并执行了一些注册任务。
  3. 任务完成后,我希望用户被带到(登录)登录页面。

我更希望在redux-saga中处理此问题,我当然会喜欢一种更好的方法或替代方法。

2 个答案:

答案 0 :(得分:0)

找到了答案,谢谢。对于任何可能想做同样事情的人,只需将从react路由器useHistory钩子获得的历史对象传递给正在分派的动作的有效负载,然后使用push方法来处理到另一页的路由

答案 1 :(得分:0)

我还没有一个很好的答案(我什么时候会-我会编辑它)-我只是认为您选择的解决方案(而且我知道这也是“反应路由器”解决方案)是不太好。

基本上,您正在使“注册”组件“意识到”路由器,我觉得很烦... “导航”是一个副作用,因此应从SAGA处理。 您可以尝试使用“连接的反应路由器”,但我尝试失败了...但是我的应用程序非常复杂...