Reactjs 如何在单独的父组件中分派操作

Reactjs 如何在单独的父组件中分派操作,reactjs,redux,react-router,react-redux,react-router-redux,Reactjs,Redux,React Router,React Redux,React Router Redux,我正在尝试使用react、redux和react router redux构建一个应用程序。它的构建使得页眉和页脚(react组件)是路由中定义的实际页面的“外部”。例如,就是这样的: <Provider store={store}> <ConnectedRouter history={history}> <div> <header/> {routes_for_pages}

我正在尝试使用react、redux和react router redux构建一个应用程序。它的构建使得页眉和页脚(react组件)是路由中定义的实际页面的“外部”。例如,
就是这样的:

<Provider store={store}>
   <ConnectedRouter history={history}>           
      <div>
         <header/>
         {routes_for_pages}
         <footer/>
      </div>               
   </ConnectedRouter>
</Provider>  

{routes_for_pages}
在其中一个路由上,它们是一个分派操作的组件,并且根据返回的结果,需要使用适当的内容更新页眉和页脚

如何使该特定组件中的分派同时向页眉和页脚分派操作?我看到的问题是这些组件(页面组件、页眉组件和页脚组件)彼此不认识,它们是作为兄弟组成的


谢谢你的帮助。TIA。

无需从多个组件分派操作。 相反,您应该有多个reducer,每个reducer根据分派的操作执行不同的操作

如果您使用的是
redux-saga
,那么这方面的代码可能会更干净。 您捕获了一个传奇故事中的初始动作,并让传奇故事进一步分派一组应该连续或同时发生的动作

例如:


您不需要从多个地方分派操作,只需在多个还原器中捕获相同的操作即可
// saga handler
function* mySaga(action) {
  yield put('DO_SOMETHING');  // dispatches DO_SOMETHING
  yield put('UPDATE_HEADER'); // ...
  yield put('UPDATE_FOOTER'); // ...
}

function mySagaWatcher(
  takeLatest,
  'SOMETHING_TRIGGERED_THIS_ACTION',
  mySaga
);