发布于 2019-03-29 13:06:42
首先,您应该知道,您只能回溯纯函数,即其输出完全取决于其参数的函数。
因此,简而言之,当您知道大多数输入保持不变时,您就会进行回忆录,并且您不希望对相同的输入一次又一次地重新计算结果,特别是在计算开销很大时,这可能意味着需要在其上执行的数据集很大。
在这种情况下,useMemo是非常有用的。如果数组和筛选条件在重新呈现时保持不变,则不会再次执行计算,而是从缓存返回先前计算的数据。
发布于 2019-03-29 13:05:41
Memoization是存储计算值的过程,因此不必再重新计算它。
在react中,最常见的用法是从redux存储(其中存在重选)派生的值,或者是功能组件的完整回忆录。
没有金科玉律来决定一个函数是否昂贵,是否应该回忆录,因为它在很大程度上取决于您的特定用例,以及它的性能缺陷,但是通常它被保存用于数组筛选/排序,或者类似的东西。
知道什么应该回忆录,什么不是,最好的方法是分析你的应用程序,看看哪些计算占用最多的资源,并回忆录,看看它是否有区别。
https://stackoverflow.com/questions/55417808
复制相似问题