React 内部共享
客户端内部使用,不要使用或警告用户他们无法升级
原文就这么长
import * as React from 'react';
const ReactSharedInternals =
React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
export default ReactSharedInternals;
该文件导出内容的实现是通过不通的宿主环境实现的(如 DOM 、 Native )。
设计原理
- 解耦 :
react包本身不包含 reconciler (协调器) 或 Scheduler (调度器)的具体实现,这些由react-dom、react-native等渲染器提供的 - 共享状态 : Hooks 、 Context 、错误边界等功能需要跨模块访问当前的 Fiber 树状态、 dispatch 等,通过
ReactSharedInternals可以实现这种共享 - 构建灵活性 : 不同平台( Web 、 Native 、 Test Renderer )可以注入不同的内部实现,而
react包包吃通用