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
-
useMemo
mountMemo / updateMemo
总结
可以看到有一些共同处:执行回调,拿到返回值,将返回值和依赖组成数组赋值
hook.memoizedState
,注意一点,从上面代码可以看出,如果依赖没有更改,并不会执行回调,而是直接返回之前的值。useCallback
mountCallback / updateCallback
总结
跟
useMemo
差不多,只是返回值不一样,useMemo
返回的是函数返回值,useCallback
返回的是函数本身。都是挂载到hook.memoizedState
上。需要注意
useCallback
常被诟病的闭包问题就出现在这,如果依赖没有发生改变,那么函数就不会重新挂载Beta Was this translation helpful? Give feedback.
All reactions