【问题标题】:If i have 100 reducers in my react app will all reducers get called when an action is dispatched?如果我的反应应用程序中有 100 个减速器,那么在调度操作时会调用所有减速器吗?
【发布时间】:2021-10-22 17:22:54
【问题描述】:

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

其次

有没有办法专门调用一个reducer而不调用所有100个reducer

【问题讨论】:

    标签: redux react-redux reducers redux-reducers


    【解决方案1】:

    Redux 常见问题解答中专门回答了这个问题:

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

    需要注意的是,一个 Redux 存储实际上只有一个 reducer 函数。

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

    另外,“调用reducer”在这里是错误的心智模型。动作就像正在广播的“事件”——你永远不会直接“调用减速器”:

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

    【讨论】:

    • 这很有帮助谢谢
    猜你喜欢
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    相关资源
    最近更新 更多