memo和useMemo
来源:14-9 使用useCallback做性能优化

_驺虞
2021-06-03
请问一下为什么将数据传递给 用 memo 包裹的子组件时,一定要用 useMemo 进行缓存?当数据没有缓存时,数据明明没有发生改变,而且子组件memo也会进行浅比较,为什么子组件还会更新?
写回答
1回答
-
函数组件、纯函数,特点就是无副作用 —— 当然 useEffect useMemo useCallback 等除外,这些就是为了增加副作用的。
所以,当你不用 useMemo 时,无副作用,数据会重新销毁重建。所以相关的组件也就重新渲染。
而用了 useMemo 就会告诉 React ,这个 state 是被缓存的,无需重建、使用缓存值即可。
022021-06-06
相似问题