链接快照说明:本文档中所有 GitHub 源码链接均指向固定 commit
eafeac097b(2026-08-25),而非main分支。这意味着即使 React 源码后续发生文件重命名、删除或内容变更,这些链接仍然有效并指向文档编写时分析的确切代码版本。完整 commit hash:
eafeac097ba51e1eab809c07102126bd5f8e5425对应版本:React 19.3.0 开发分支。如需查看该 commit 的完整源码树,访问
facebook/react仓库eafeac097bcommit。
按知识点到源码文件的映射,方便在阅读文档时快速定位源码。
核心 API
| 知识点 | 源码路径 |
|---|---|
| useState/useEffect 等入口 | packages/react/src/ReactHooks.js |
| Component/PureComponent | packages/react/src/ReactBaseClasses.js |
| createContext | packages/react/src/ReactContext.js |
| React.memo | packages/react/src/ReactMemo.js |
| React.lazy | packages/react/src/ReactLazy.js |
| React.forwardRef | packages/react/src/ReactForwardRef.js |
| React.Children | packages/react/src/ReactChildren.js |
| startTransition | packages/react/src/ReactStartTransition.js |
| JSX 运行时 | packages/react/src/jsx/ |
Reconciler 核心
工作循环
Hooks
| 知识点 | 源码路径 |
|---|---|
| Hooks 全部实现 | packages/react-reconciler/src/ReactFiberHooks.js |
| Effect 标记 | packages/react-reconciler/src/ReactHookEffectTags.js |
类组件
| 知识点 | 源码路径 |
|---|---|
| 类组件处理 | packages/react-reconciler/src/ReactFiberClassComponent.js |
| 更新队列 | packages/react-reconciler/src/ReactFiberClassUpdateQueue.js |
| 并发更新 | packages/react-reconciler/src/ReactFiberConcurrentUpdates.js |
Scheduler
渲染器
| 知识点 | 源码路径 |
|---|---|
| createRoot | packages/react-dom/src/client/ReactDOMRoot.js |
| DOM HostConfig | packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js |
| 事件系统 | packages/react-dom-bindings/src/events/ |
| SSR renderToPipeableStream | packages/react-dom/src/server/ReactDOMFizzServerNode.js |
| 自定义渲染器 | packages/react-noop-renderer/src/ |
| Test Renderer | packages/react-test-renderer/src/ |
并发特性
RSC / SSR 静态 API
| 知识点 | 源码路径 |
|---|---|
| RSC 基础 | packages/react-server/src/ |
| RSC + Webpack | packages/react-server-dom-webpack/src/ |
| Flight 协议 | packages/react-server-dom-webpack/src/server/ReactFlightDOMServerNode.js |
| prerender / resumeAndPrerender(浏览器) | packages/react-dom/src/server/ReactDOMFizzStaticBrowser.js |
| prerenderToNodeStream / resumeAndPrerenderToNodeStream | packages/react-dom/src/server/ReactDOMFizzStaticNode.js |
| resume(浏览器) | packages/react-dom/src/server/ReactDOMFizzServerBrowser.js |
Shared
测试 Fixtures
| 知识点 | 源码路径 |
|---|---|
| Fiber Debugger | fixtures/fiber-debugger/ |
| Concurrent | fixtures/concurrent/ |
| Scheduler | fixtures/scheduler/ |
| SSR | fixtures/ssr/ |
| Fizz (流式 SSR) | fixtures/fizz/ |
| Flight (RSC) | fixtures/flight/ |