初始化组件入口,调用位置ReactMount。
该函数return的instance包含以下属性
- _currentElement
- _stringText
- _hostNode
- _hostParent
- _domID
- _mountIndex
- _closingComment
- _commentNodes
- _hostContainerInfo // ReactDOMEmptyComponent实例有的属性
未完待续
根据node类型来区分组件入口
其中nodeType有三种,在ReactNodeTypes里定义,ReactNodeTypes.getType(node)可以获取
- HOST // ReactHostComponent
- COMPOSITE // ReactCompositeComponent
- EMPTY // ReactEmptyComponent
web端这几种Component的实现分别是:
- ReactDOMComponent
- ReactCompositeComponent
- ReactDOMEmptyComponent
外加一种特殊处理的TEXT
类型: - ReactDOMTextComponent // createElement创建的字符串,拥有唯一标识,否则就是单纯的字符串
这几个构造函数里都有mountComponent
方法(在ReactMount里调用),是用来讲虚拟dom对象转化为dom对象的
ReactInjection
是用来根据不同的host初始化不同的component的形式的,比如DOM和native就对应两种不同的injection