我有一个带路由器和组件的文件。不久,代码是这样的:
// define the routes for each language ..
const InnerRoutes = (
<Route>
<IndexRoute page="home" component={StaticPage}></IndexRoute>
<Route path="contacts" component={ContactsPage}></Route>
<Route path="(:page)" component={StaticPage}></Route>
</Route>
);
// define the routes for all the languages, using InnerRoutes ..
const AllRoutes = (
<Router history={browserHistory}>
<Route path='/' component={App} language="bg">
{InnerRoutes}
<Route path="en" language="en">
{InnerRoutes}
</Route>
</Route>
</Router>
);
// and render our app ..
ReactDOM.render(
AllRoutes,
document.getElementById('app')
);
我的问题是:当触发路由器更改时,如何更改App
组件状态?
当然 - 让路由器在应用程序状态下加速。
(因为目前我可以从App
组件的方法componentDidUpdate
获取路由器内容,然后触发setState
来更改App
状态。不幸的是 - 然后我有了componentDidUpdate
触发两次。)
答案 0 :(得分:0)
我已将此添加到我的应用中,并且在路线发生变化时似乎会收到更改。更多参考here
max_parallel_workers_per_gather
如果这不起作用,您还可以查看how two components talk to each other