|
|
|
@ -89,6 +89,10 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用
@@ -89,6 +89,10 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用
|
|
|
|
|
然后就是一大串的 if 用于对 props 是否合法的兜底操作,比如说 dangerouslySetInnerHTML 属性和 children 属性智能存在一个之类的,如果找到不合法的操作会直接通过 throw Error 被抛出 |
|
|
|
|
|
|
|
|
|
之后就进入 diffProperties 最主要的任务:对新旧 props 进行对比然后生成 updateQueue |
|
|
|
|
这里有两个 for in 循环:循环旧 `props` 属性和循环新 `props` 属性 |
|
|
|
|
|
|
|
|
|
循环旧 props 属性: |
|
|
|
|
- 新 props 不存在相同属性 或 旧 props 上不存在 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|