useEffect 每次 render 后都会执行,本身每个 effect 都是挂载到 Fiber 的 hooks 上的链表,每次 render后 的时候都会按照链表执行副作用。用来在数据发生变化后,执行相关的 *** 作。
useEffect 本身有两个阶段:mountEffect 和 updateEffect(本身内部还有对应实现方法,mountEffectImpl),mount 阶段会挂载到 Fiber 当前 Hook 的 memoizedState 上,如果有多个 effect,hook 的 memoizedState 中会存储一个链表。
renconciler 阶段会将所有 effect 打 tag 并且生成
在 commit 阶段会依次执行(这个过程会进行依赖比较)
在 destory 阶段,执行 return 的回调函数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)