Reactjs 响应路由器url更改,但必须双击;链接“;用于更改ui的组件

Reactjs 响应路由器url更改,但必须双击;链接“;用于更改ui的组件,reactjs,redux,react-router,Reactjs,Redux,React Router,当第一次正确显示内容时,单击链接将更改URL,但视图仍然相同。我必须单击两次才能更改视图 我的路由器 render( <Provider store={store}> <Router history={browserHistory}> <Route path="/:courseName/**" component={components.app}> <IndexRoute components={{

当第一次正确显示内容时,单击链接将更改URL,但视图仍然相同。我必须单击两次才能更改视图

我的路由器

render(
<Provider store={store}>
    <Router history={browserHistory}>
        <Route path="/:courseName/**" component={components.app}>
            <IndexRoute components={{
                sidebar: containers.sidebar,
                chapter: containers.chapter
            }} />
        </Route>
    </Router>
</Provider>,
document.getElementById('container')
);

正如@dlopez所指出的,我必须使用即将到来的道具

componentWillReceiveProps(nextProps) {
    console.log("In erhe");
    const { dispatch, params: { courseName, splat } }  = nextProps;
    dispatch(actions.fetchChapter(courseName, splat));
}

这是因为你在使用“旧”道具。尝试将最新的组件与以下内容一起使用。
componentWillUpdate(props){const{dispatch,params:{courseName,splat}}=props;dispatch(actions.fetchChapter(courseName,splat));
谢谢@dlopez!
componentWillReceiveProps(nextProps) {
    console.log("In erhe");
    const { dispatch, params: { courseName, splat } }  = nextProps;
    dispatch(actions.fetchChapter(courseName, splat));
}