useMemo 计算量大的计算

useMemo computationally expensive calculations

我已经使用 useMemo 创建了一个沙箱来优化模拟昂贵的函数,遵循此 post 中的 Kent C Dodds 示例。记忆似乎不起作用。有什么想法吗?

https://codesandbox.io/s/usememo-rfphn?file=/src/index.tsx

useMemo() 实际上在您的代码中正常工作

你有:

const value = useMemo(() => wait(duration), [duration]);

useMemo() 每次其依赖项中的任何值发生变化时都会重新计算其值,并且您的依赖项数组中有 [duration] 每次都会更改,您单击 setDuration() 按钮.


如果您想看到 useMemo() 的效果,请在不更改其依赖项的情况下重新渲染组件。

像这样:useMemo()