在 React 和 Redux 应用程序中调度大量操作对性能有何影响?
How is performance affected by the dispatching of numerous actions in a React and Redux app?
操作对性能有多大影响,更准确地说:调度所述操作?
假设同一操作在与 UI 的单个用户交互中连续分派 10 次,这将如何影响性能?或者,它甚至会影响性能吗?
这主要取决于 React 是否对以下渲染进行批处理。您可以对每个渲染进行一次渲染或一次分派——这完全取决于 React。通常在事件处理程序和效果中进行 React 批处理,但在异步代码中不会。您可以使用 batch
api 手动控制它(在 react-redux 中使用该名称重新导出)。
不过,一般来说,建议是分派 一个 描述发生的事情和所有必要信息的操作,并让任意数量的 reducer 对此做出反应。将您的逻辑放在应用程序层 (=React) 和业务层 (=Redux) 的内部。
https://redux.js.org/style-guide/style-guide/#model-actions-as-events-not-setters
https://redux.js.org/style-guide/style-guide/#allow-many-reducers-to-respond-to-the-same-action
https://redux.js.org/style-guide/style-guide/#avoid-dispatching-many-actions-sequentially
操作对性能有多大影响,更准确地说:调度所述操作?
假设同一操作在与 UI 的单个用户交互中连续分派 10 次,这将如何影响性能?或者,它甚至会影响性能吗?
这主要取决于 React 是否对以下渲染进行批处理。您可以对每个渲染进行一次渲染或一次分派——这完全取决于 React。通常在事件处理程序和效果中进行 React 批处理,但在异步代码中不会。您可以使用 batch
api 手动控制它(在 react-redux 中使用该名称重新导出)。
不过,一般来说,建议是分派 一个 描述发生的事情和所有必要信息的操作,并让任意数量的 reducer 对此做出反应。将您的逻辑放在应用程序层 (=React) 和业务层 (=Redux) 的内部。
https://redux.js.org/style-guide/style-guide/#model-actions-as-events-not-setters
https://redux.js.org/style-guide/style-guide/#allow-many-reducers-to-respond-to-the-same-action
https://redux.js.org/style-guide/style-guide/#avoid-dispatching-many-actions-sequentially