Redux在组件之间共享操作

Ale*_*ori 5 javascript reactjs react-native redux

我正在用react-native和redux构建一个移动应用程序,我正在以这种方式按功能组织我的项目结构:

Component1/
--- Component1Actions.js
--- Component1Reducer.js
---...
Component2/
--- Component2Actions.js
--- Component2Reducer.js ---
...

在我看来,这种项目结构令人惊讶,原因很多,首先是因为它具有很好的可扩展性.到目前为止我遇到的唯一问题是2个不同的组件必须分派相同的操作(例如文本框中的简单文本更改).
在2个不同的文件中重写完全相同的动作是没有意义的,我也知道将动作从一个组件导入另一个组件实际上是一种不好的做法.我想在全局模块中保留这些"可共享"的动作,然后将它们导入到各个组件中,但我不确定它是否是一个好习惯.
我想知道处理这种情况的最佳方法.
提前致谢.

web*_*deb 8

您可以在多个Reducer中处理相同的"ACTION_TYPE".

......行动是设计全球性的.它们并不意味着与特定的减速器相关联(Dan Abramov)

您可以在所有reducers中处理"LOGOUT"操作,这只会返回初始状态..并将应用程序设置为默认值

例如..

const postReducer = (state = initial, action) => {
  swtich(action.type) {
  ...
  case "LOGOUT": 
    return initial 
  default: 
    return state
  }
}
Run Code Online (Sandbox Code Playgroud)