Reactjs 响应路由器url更改,但必须双击;链接“;用于更改ui的组件
当第一次正确显示内容时,单击链接将更改URL,但视图仍然相同。我必须单击两次才能更改视图 我的路由器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={{
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));
}