我读过几篇文章,其中React Fiber
有一些问题。
与以前
stack reconciliation
的为什么父级优先,深度优先搜索是不可能的?我看到帖子说React Fiber
是通过启用这些功能的链表实现的。但帖子还提到stack reconciliation
“递归”工作。有什么区别?React Fiber 保持
current
树和workInProgress
树。React Fiber 的关键特性之一是它不会重新创建 React 元素,而只会更新(变异)更改。这是否意味着current
树和workInProgress
树共享(引用)相同的元素还是克隆?如果 React Fiber 可以恢复和暂停,这是否意味着它会跟踪当前进度并在 16 毫秒截止日期到来时停止并提交所做的任何事情?并从它停止的地方继续?
在 React Fiber 之前,元素是不可变的。这是否意味着如果 React 发现了一个必须修改的元素,它的所有子元素都被重新创建并附加到新创建的元素上?