React.createElement
2021-11-03 20:53:19 0 举报
源码解析
作者其他创作
大纲/内容
真实DOM
diff 算法
self
定位出两次虚拟DOM的差异
React.createElement 调用
组件更新:由组件自身触发
type
React.createElement
ReactCurreentOwner.current
componentDidMount()
组件挂载:初始化渲染
二次处理key、ref、self、source四个属性值
虚拟DOM
作为参数传入
调用
生成新的虚拟DOM
ReactElement调用
结束
入口
children
格式化defaultprops
componentWillUpdate()
组件卸载
组件初始化
ref
source
组件更新
ReactElement
Coding
开发者
shouldComponentupdate()
Babel
ReactElement对象
render()
组件更新:由父组件触发
componentWillUnmount()
constructor()
ReactDom.render()
props
JSX
遍历config,筛选出可以提取进props的属性
将以上参数作为入参,发起ReactElement调用
编译
提取子元素,推入childArray(即props.children)数组
componentWillMount()
生成虚拟DOM
config
落脚点
ReactDOM.render()
key
componentDidUpdate()
componentWillReceiveProps()
收藏
收藏
0 条评论
回复 删除
下一页