React-Redux-Router - 用于加载详细信息页面的触发操作

时间:2016-12-19 15:49:36

标签: javascript reactjs redux react-router

我有一个带有项目列表的react-redux应用程序。每个项目都有一个按钮来打开细节。

所以当点击细节时,我有类似的东西:

dispatch(push(`/items/$item_id`)

这已配置路线:

  <Route path="/item/edit/:id" component={ItemEdit} />

我遗漏的是在新路线被击中时如何获取物品数据。我知道在componentWillMount或componentWillReceiveProps中是微不足道的,但它们是由redux.connect抽象的。

我需要在路径更改或即将更改此组件时触发操作。

我看到的唯一方法是使用:

BrowserHistory.listen(location => dispatch(routeLocationDidUpdate(location)));

但这看起来很难看,因为它分享了所有组件的行为。即,我需要一个像(

routeLocationUpdate(location) {
  switch(location)
    case path1: dispatch(load_item) 
    case path2: dispach(load_talks)
    ...

对不起,如果不够清楚。

感谢 费尔南多

0 个答案:

没有答案