如何在React Router自动更改后更新状态?

时间:2016-11-08 15:34:53

标签: reactjs react-router state

我有一个带路由器和组件的文件。不久,代码是这样的:

// 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触发两次。)

1 个答案:

答案 0 :(得分:0)

我已将此添加到我的应用中,并且在路线发生变化时似乎会收到更改。更多参考here

max_parallel_workers_per_gather

如果这不起作用,您还可以查看how two components talk to each other