# react-fiber **Repository Path**: kayanchan/react-fiber ## Basic Information - **Project Name**: react-fiber - **Description**: react-fiber架构、虚拟dom - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2025-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 该项目是一个用于演示 React Fiber 架构和虚拟 DOM 工作原理的示例代码库。它包含多个 HTML 文件和两个简化版的 React 实现:`fiber-react` 和 `tiny-react`。这些实现展示了 React 的核心机制,如虚拟 DOM 构建、差异比较(Diffing)、组件生命周期、以及 Fiber 架构的任务调度。 --- ## 📁 项目结构 ### 📄 HTML 演示文件 - `VirtualDOM.html`:展示虚拟 DOM 的基本概念。 - `WholeDOM-Diff.html`:展示 DOM 差异比较过程。 - `BFS.html` / `DFS.html`:展示广度优先和深度优先遍历算法。 - `Fiber - render.html` / `Fiber - commit.html`:展示 React Fiber 架构的渲染与提交阶段。 - `requestIdleCallback.html`:展示浏览器空闲回调机制。 ### 📁 fiber-react 一个简化版的 React 实现,演示 Fiber 架构的核心机制: - **任务队列**:`CreateTaskQueue` - **Fiber 节点创建**:`CreateElement`, `createStateNode`, `getTag` - **DOM 操作**:`createDOMElement`, `updateNodeElement` - **协调算法**:`reconcileChildren`, `workLoop`, `performTask`, `commitAllWork` ### 📁 tiny-react 一个更早期的 React 简化实现,演示虚拟 DOM 和组件生命周期: - **虚拟 DOM 构建**:`createElement`, `createDOMElement` - **组件系统**:`Component`, `isFunctionComponent`, `mountComponent` - **更新机制**:`diff`, `updateComponent`, `unmountNode` - **生命周期方法**:`componentWillReceiveProps`, `componentWillUpdate`, `componentDidMount` 等 --- ## 🚀 使用方法 ### 安装依赖(仅适用于 `fiber-react` 和 `tiny-react`) ```bash cd fiber-react npm install # 或者进入 tiny-react cd ../tiny-react npm install ``` ### 启动本地开发服务器 ```bash npm run dev ``` 然后访问 `http://localhost:8080` 查看示例页面。 --- ## 🧪 示例代码 在 `fiber-react/src/index.js` 中可以看到一个简单的 JSX 渲染示例: ```js const root = document.getElementById("root"); const jsx = (