你好,我在跟着build your own react学习。
在第四步fiber中,搞不懂为什么 prevSibling.sibling = newFiber;
的sibling能加入到fiber中。fiber是参数,prevSibling是函数内的变量,他们是如何联系到一起的? 谢谢。
while (index < elements.length) {
const element = elements[index];
const newFiber = {
type: element.type,
props: element.props,
parent: fiber,
dom: null,
};
if (index === 0) {
fiber.child = newFiber;
} else {
prevSibling.sibling = newFiber; // 我不明白sibling是怎么绑定到fiber上的
}
prevSibling = newFiber;
index++;
}
fiber架构里,一个fiber只有一个孩子,其他的孩子作为第一个孩子的兄弟。index为0时候,设置child属性为第一个孩子,prevSibling为第一个孩子filber。index为1,设置第一个孩子filber的兄弟为第二个filber,就是链表。