Repository navigation
React@v19源码解析---useMemo\useCallback #12
MyPrototypeWhat
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
useMemo
mountMemo / updateMemo
总结
可以看到有一些共同处:执行回调,拿到返回值,将返回值和依赖组成数组赋值
hook.memoizedState,注意一点,从上面代码可以看出,如果依赖没有更改,并不会执行回调,而是直接返回之前的值。useCallback
mountCallback / updateCallback
总结
跟
useMemo差不多,只是返回值不一样,useMemo返回的是函数返回值,useCallback返回的是函数本身。都是挂载到hook.memoizedState上。需要注意
useCallback常被诟病的闭包问题就出现在这,如果依赖没有发生改变,那么函数就不会重新挂载All reactions