新建一个静态的 html页面,引入umd版本的 react.js
<!DOCTYPE html><html lang="zh-CN"><head><title>react cdn</title><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.bootcdn.net/ajax/libs/react/18.2.0/umd/react.development.js"></script></head><body></body></html>

- 以 use开头的都是 hooks方法
- 根据自己常用的方法,渐进式的,去学习 react的源码,理解其应用场景和实现原理。
react API
可以查看到 react18.0.2版本有 35个方法
相对与 react 16.8.6 的 29个方法,有新增的API 
[// react内部访问的部分,慎用"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","Children", // map,forEach,count,toArray,only// 组件类,都来自于ReactBaseClasses"Component","PureComponent", // 浅比较 props"createRef", // 用于 class组件的 ref"cloneElement", // 克隆一个react element"createContext", //"createElement", // 创建一个 react element"createFactory", // 创建一个制定类型的react element的工厂函数"isValidElement", 判断一个对象是否是react元素"forwardRef", // 函数组件 ref的引用"useImperativeHandle","Fragment", // <></>"memo", // 类似 PureComponent"Profiler","startTransition","StrictMode", // 严格模式"Suspense","lazy", // 懒加载,和 Suspense一起使用"unstable_act",// hooks"useCallback","useContext","useDebugValue","useDeferredValue","useEffect", // 副作用// 插入全局DOM节点,类似 useLayoutEffect,区别:回调执行时,不能访问ref中的DOM节点"useInsertionEffect", //// 比 useEffect更早的触发,可以动态修改 DOM, 会阻塞浏览器渲染,执行同步的耗时"useLayoutEffect","useId", // 当前组件的唯一身份,在客户端与服务端之间产生唯一ID const id = useId()"useMemo", // 类似 vue的 computed"useReducer", // 和 redux相似"useRef", // 实例引用"useState", // state 组件状态// 代替 useMutableSource 用于订阅外部源"useSyncExternalStore","useTransition", // 将函数内的内容过渡"version" // react的版本]
