createSelector 不记忆

createSelector not memoize

尝试了解 createSelector 的工作原理

我写了一个小例子:My example

为什么当我将状态无关(按钮更改计数器)更新为 createSelector 参数时,会发生回调(控制台输出“计算”)?

是的,因为每次此组件呈现时,您都在调用createSelector。这意味着每次都是 new 选择器实例。

记忆仅在您创建一个选择器实例一次,然后每次都重复使用该选择器时才有效。

selectA/B/C 函数和 const selectABC = createSelector() 移动到此组件的 外部 ,它应该可以工作。

我还建议通读 Redux 文档中的 Deriving Data with Selectors 页面。