跟着build your own react学习,构建fiber遇到问题

你好,我在跟着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++;
        }
阅读 1.3k
1 个回答

fiber架构里,一个fiber只有一个孩子,其他的孩子作为第一个孩子的兄弟。index为0时候,设置child属性为第一个孩子,prevSibling为第一个孩子filber。index为1,设置第一个孩子filber的兄弟为第二个filber,就是链表。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题