reactjs - 如何定义Redux中reducer的执行顺序?

标签 reactjs redux

假设我有行动A被发送到 reducer R1R2 。我还有智能组件C这是 connect编辑至 R1 返回的状态和R2

组件 C 有可能吗?当 R1 时重新渲染在 R2 之前执行被执行了吗?

如果我想重新渲染怎么办 C仅当两者 R1 时和R2被处决?或者可以告诉 Redux dispatcher将操作分派(dispatch)至 R2第一的?

* R1实际上是results redux 返回的状态 normalizrR2entities状态。 entities需要对 results 进行非规范化

最佳答案

Is it possible that component C were rerendered when R1 is executed but before R2 is executed?

不,如果您像 Redux 文档建议的那样使用单个存储,这是不可能的。

在 Redux 中,您可以使用 combineReducers() 组合 reducer 。这意味着从 Redux 的角度来看,只有一个 reducer ,而且是同步的。当然,它会调用您的两个 reducer ,但是 Redux 存储仅在从其根 reducer 获取新状态值后才开始通知订阅者,因此可以保证在通知 View 时所有 reducer 都已被执行。

关于reactjs - 如何定义Redux中reducer的执行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35929543/

相关文章:

javascript - 从快速文件到前端的响应问题(React)

javascript - 如何使用钩子(Hook)切换 React 组件与 Redux?

reactjs - Redux + typescript : how to implement `injectReducer` ?

javascript - DRY jsx 渲染方法

javascript - 使用 useRef 和窗口调整大小事件(React Hook)观察 div 元素大小/尺寸

javascript - OpenComponents 为自定义编译器返回 TEMPLATE_NOT_SUPPORTED_ERROR

javascript - React Redux——我可以让 mapStateToProps 只接受部分状态吗?

reactjs - 我可以使用 redux 工具包访问带有 axios 的 createAsyncThunk 中的状态吗?

javascript - Redux-Thunk - 异步 Action 创建者 promise 和链接不起作用

javascript - 如何更新 redux 状态而不遇到错误