gpt4 book ai didi

reactjs - "Reselect"VS "Memoize-One"与 "React and Redux"

转载 作者:行者123 更新时间:2023-12-03 13:32:32 25 4
gpt4 key购买 nike

我正在尝试在 React 工作流程中使用某种内存功能,并且我正在寻找最好且最重要的“最简单” 解决方案来与我的工作流程集成,其中包括React 和 Redux.

我遇到了很多关于记忆化的文章,其中一些展示了“memoize-one”的用法,并将其视为最快、最容易启动和运行的方法,而其他人甚至没有提及它并谈论“重新选择”。

我只是想知道哪个更好、最简单,以及我应该投资哪个。

最佳答案

两个返回一个函数,该函数接受给定数量的参数返回一个值:

getA(arg1, arg2, arg3) // Returns a value

区别在于调用函数时幕后发生的事情。

内存一

  • 收集提供的参数
  • 将参数与之前调用中提供的参数进行比较 (===)
  • 参数相同:返回缓存结果
  • 参数不相同:重新计算结果函数并返回

重新选择

  • 收集提供的参数
  • 运行一组inputSelectors函数,为它们提供收集到的参数
  • 收集inputSelectors返回值
  • inputSelectors 返回值与之前调用中获取的值进行比较 (===)
  • 相同:返回缓存结果
  • 不相同:重新评估结果函数并返回

结论

memoize-one 是一个基于值的内存实用程序:内存是对提供的参数的值执行的。

reselect 在其之上添加了一个进一步的评估层:内存不是对参数值执行的,而是对一组inputSelectors<的结果执行的 函数使用这些初始参数。

这意味着reselect选择器很容易组合,因为每个inputSelectors都可以是另一个reselect选择器。

关于reactjs - "Reselect"VS "Memoize-One"与 "React and Redux",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810771/

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