React原理

2019-11-08  本文已影响0人  key君

React.js 从ReactBaseClasses导入了Component和PureComponent

ReactBaseClasses定义和导出Component和PureComponent
Component将传进来的props、context、updater绑定到自己身上
PureComponent跟Component几乎一样 多了一个isPureReactComponent=true

updater来源于updater || ReactNoopUpdateQueue

ReactElement.js createElement() 传入type、配置生成虚拟dom树
原生标签:createElement(type,config,children) type:标签字符串div等 config:配置项 children:子元素
非原生:createElement(type,config,children) type:function组件方法名/class组件名 config:选项 children:子节点
创建props 把children,type,config里面的各项放在props上,把参数传入ReactElement()
生成虚拟dom树

cloneElement() 传入元素、配置生成新的元素,处理跟createElement类似

ReactHooks.js useState useContext就是依赖dispatcher
ReactCurrentDispatcher 依赖的是ReactFiberHooks

ReactDOM.js 传入el,container,callback 把子树装到container上面

上一篇 下一篇

猜你喜欢

热点阅读