Releases
v2.0.0
全面支持 React v16 新特性
重构 findDOMNode
,遇到注释节点返回 null
支持 React 组件返回任何数据类型,如数组,字符串,数字,布尔,但对于 undefined
, null
, boolean
不会生成真实 DOM
支持 componentDidCatch
钩子与整个错误边界的逻辑
支持 createPortal
分离出 Vndoe 模块,并且附带其节点关系属性(return
, sibling
, child
),
return
相当于之前的 hostParent
,
sibling
相当于之前的 nextSibling
,
child
相当于之前的 firstChild
,
模仿 React v16,使用 stateNode
属性代替旧有的 hostNode
与 instance
。
React.Children
与 flattenChildren
底层依赖的方法由 flattenChildren
改为 operateChildren
,让其更具通用性, flattenChildren
更名为 fiberizeChildren
,产出一个带链表结构的数组。
新的架构:元素虚拟 DOM 与组件虚拟 DOM 都有自己的更新对象,简化匹配算法
简化 Refs 模块
修复更新虚拟 DOM 时,namespaceURI
丢失的 BUG
componentDidUpdate
现在只有两个参数,lastProps
与 lastState
优化 fiberizeChildren
的性能
修复受控组件在 textarea
, radio
的 BUG,将受控事件放到用户 � 事件后集中执行
添加焦点系统的支持(全局 focus, blur 事件提前监听,移除添加节点的 Refs.nodeOperate
开头)
解决多次引入 React 时,事件系统的 option.async
有问题的 BUG
简化 createPortal
的实现
支持 React v16.2 的 Fragment
语法糖
cloneElement
需要处理 disposed
元素
cloneElement
对于 props
的虚拟 DOM 进行复制
设置属性的时机提前
修复了一个移动端 scroll 事件的问题
You can’t perform that action at this time.