Notes

update 链表

一句话结论:State Hook 的更新不是立刻生效,而是以 update 节点的形式入队;渲染时会把 update 依次应用到 baseState 上,得到最终 memoizedState。

1. update 节点通常包含什么(概念)

  • lane:该更新的优先级
  • action:更新内容(值/函数/自定义 action)
  • next:链表指针
  • 可选:eagerState(用于优化的提前计算结果)

2. 关键:为什么要保留 baseQueue/baseState

  • 并发下可能只处理“本轮 renderLanes 覆盖的更新”
  • 低优先级 update 会被跳过并保留到 baseQueue,保证以后还能继续算

关联阅读

cd ..