我有一组非常简单的组件:
-
container
连接到redux并处理操作、存储订阅等 -
list
显示我的项目列表 -
new
这是一个向列表中添加新项目的表单
我有大约react-router条路由如下:
<Route name='products' path='products' handler={ProductsContainer}>
<Route name='productNew' path='new' handler={ProductNew} />
<DefaultRoute handler={ProductsList} />
</Route>
因此,list
或form
都会显示,但不会同时显示.
我想做的是,一旦成功添加了一个新项目,应用程序就会重新路由回列表.
到目前为止,我的解决方案是在async dispatch
之后有一个.then()
:
dispatch(actions.addProduct(product)
.then(this.transitionTo('products'))
)
这是正确的方法吗?还是我应该以某种方式启动另一个操作来触发路由更改?