在通过react-router-4导航后没有获得路由参数

时间:2017-04-07 10:13:49

标签: reactjs redux react-router-v4

通过this.props.history.push导航后,route params中没有component

我有两个路线上呈现的单component

因此,从一条路线到另一条路线的结果是component update,我没有收到route params

如果刷新页面,我会得到route params

this.props.history.push(`/pois/select/${lastAction.payload.poiID}`)

我的路由组件。

  class Routes extends React.Component {
  render() {
    return <div>
            <Switch >
                <Route exact path="/pois/" component={ POIS } mode='view' />
                <Route exact path="/pois/select/:poiID" component={ POIS } mode='select' />
                <Route exact path="/pois/create" component={ POIS } mode='create'/>
                <Route exact path="/pois/update/:poiID" component={ POIS } mode='update'/>
            </Switch>
       </div>;
  }

1 个答案:

答案 0 :(得分:3)

使用date-picker inputcomponentWillReceiveProps生命周期方法的组合。

第一次组件渲染时,在componentDidMount方法中执行api调用,并获取数据,如下所示:

componentDidMount

下次当道具中的任何内容发生变化时,componentDidMount(){ // ajax call to fetch data then do setState to store in state variable } 方法会被调用,请执行api调用,如下所示:

componentWillReceiveProps