环形链表详解
一句话结论:React 常用“环形单向链表”做队列:只维护尾指针就能
O(1)追加;遍历时从tail.next作为头开始绕一圈即可。
1. 为什么适合做更新队列/Effect 队列
- 追加快:只改 2~3 个指针
- 合并方便:把两个环“拼接”即可(常用于 pending 与 baseQueue 合并)
2. 怎么读一个环形链表
tail指向最后一个节点head = tail.next指向第一个节点- 从 head 开始遍历,直到回到 head
3. 在 React 里常见出现位置
queue.pending:State Hook 的待处理 update 队列fiber.updateQueue.lastEffect:effect 队列(useEffect/useLayoutEffect)