相关疑难解决方法(0)

成功执行异步redux操作后转换到另一个路由

我有一组非常简单的反应组件:

  • container挂钩到redux并处理动作,存储订阅等
  • list 它显示我的项目列表
  • new 这是一个向列表中添加新项目的表单

我有一些react-router路由如下:

<Route name='products' path='products' handler={ProductsContainer}>
  <Route name='productNew' path='new' handler={ProductNew} />
  <DefaultRoute handler={ProductsList} />
</Route>
Run Code Online (Sandbox Code Playgroud)

所以显示listform显示,但不是两者.

我想做的是在成功添加新项目后让应用程序重新路由回列表.

到目前为止,我的解决方案是.then()在异步之后dispatch:

dispatch(actions.addProduct(product)
  .then(this.transitionTo('products'))
)
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?或者我应该以某种方式触发另一个动作来触发路线改变?

javascript reactjs react-router redux

57
推荐指数
3
解决办法
3万
查看次数

标签 统计

javascript ×1

react-router ×1

reactjs ×1

redux ×1