本文基于 v16.12.0 版本
react 对象
React 暴露出来的 API 如下:
var React = {
Children: {
map: mapChildren,
forEach: forEachChildren,
count: countChildren,
toArray: toArray,
only: onlyChild
},
createRef: createRef,
createContext: createContext,
forwardRef: forwardRef,
Component: Component,
PureComponent: PureComponent,
lazy: lazy,
memo: memo,
useCallback: useCallback,
useContext: useContext,
useEffect: useEffect,
useImperativeHandle: useImperativeHandle,
useDebugValue: useDebugValue,
useLayoutEffect: useLayoutEffect,
useMemo: useMemo,
useReducer: useReducer,
useRef: useRef,
useState: useState,
Fragment: REACT_FRAGMENT_TYPE,
Profiler: REACT_PROFILER_TYPE,
StrictMode: REACT_STRICT_MODE_TYPE,
Suspense: REACT_SUSPENSE_TYPE,
createElement: createElementWithValidation,
cloneElement: cloneElementWithValidation,
createFactory: createFactoryWithValidation,
isValidElement: isValidElement,
version: ReactVersion,
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactSharedInternals$2
};