如果我的 React 应用程序中有 100 个减速器,那么在调度操作时,所有减速器都会被调用吗?

Mun*_*sri 2 reducers redux react-redux redux-reducers

如果是这样,这会导致性能问题吗

第二

有没有一种方法可以专门调用一个减速器而不调用所有 100 个减速器

mar*_*son 5

Redux 常见问题解答中对此进行了具体解答:

https://redux.js.org/faq/performance#wont-calling-all-my-reducers-for-each-action-be-slow

值得注意的是,Redux 存储实际上只有一个减速器函数。

然而,即使您碰巧将许多不同的减速器函数组合在一起,并且即使具有深度嵌套状态,减速器速度也不太可能成为问题。JavaScript 引擎能够每秒运行大量函数调用,并且大多数减速器可能只是使用 switch 语句并默认返回现有状态以响应大多数操作。

另外,“调用一个减速器”在这里是错误的思维模式。操作就像正在广播的“事件” - 您永远不会直接“调用减速器”:

https://redux.js.org/style-guide/style-guide#model-actions-as-events-not-setters