gpt4 book ai didi

redux - 当一个 Action 被调度时,所有的 reducer 都会被调用吗?

转载 作者:行者123 更新时间:2023-12-03 08:04:30 27 4
gpt4 key购买 nike

我是用combineReducers来组合所有reducer来创​​建store,是不是说从任何view派发的action都会触发所有reducer被调用来检查action的类型?是不是效率有点低?

还是我没有完全理解redux的设计原理?

最佳答案

对,那是正确的。

但是,您必须优化此行为的一个选项(从 Redux 文档中建议)是使用 'reselect' https://github.com/rackt/reselect

重新选择基本上允许您创建内存选择器,您可以说 Prop A 取决于状态 B 和状态 C,因此只有在状态 B 或状态 C 发生变化时才重新计算 Prop A。

请注意,这仍会触发所有 reducer 运行(并通过 switch 语句查看该操作是否适用于它们) - 我相信没有办法绕过这种行为。然而,使用 reselect 意味着你的顶级组件只会在发生影响该状态的实际更改时收到 prop/state 更改,而不是每次都触发更改并让 React 重新渲染所有内容,即使更改没有效果因为它在某个不相关的地方。 (重新选择中的自述文件解释得更好)

关于redux - 当一个 Action 被调度时,所有的 reducer 都会被调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33590579/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com