Skip to content

Commit c6441df

Browse files
committed
三: 1.创建 nextUnitOfWork 和 rootFiber
1 parent 79a61e7 commit c6441df

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/mini-react/fiber.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
let nextUnitOfWork = null;
2+
let rootFiber = null;
3+
4+
// 创建 rootFiber 作为首个 nextUnitOfWork
5+
export function createRoot(element, container) {
6+
rootFiber = {
7+
stateNode: container, // 记录对应的真实 dom 节点
8+
element: {
9+
// 挂载 element
10+
props: { children: [element] },
11+
},
12+
};
13+
nextUnitOfWork = rootFiber;
14+
}

src/mini-react/react-dom.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import { createRoot } from './fiber';
2+
13
function render(element, container) {
2-
const dom = renderDom(element);
3-
container.appendChild(dom);
4+
createRoot(element, container);
45
}
56

67
// 将 React.Element 渲染为真实 dom

0 commit comments

Comments
 (0)