React更新日志
0 条参与记录新功能、旧功能迁移、功能废弃相关内容,不记录bugfix、警告等小更新。
15.5.0
React
- 添加
React.createClass
的废弃警告,提示用户使用create-react-class
模块替换。(注,也可以使用class
创建组件) - 添加
React.PropTypes
的废弃警告,提示用户使用prop-types模块替换,使用方法参考Migrating from React.createClass
React DOM
- 添加
react-dom/test-utils
,该模块暴露了React Test Utils
React Test Renderer
- 添加
react-test-renderer/shallow
,该模块暴露了shallow renderer
React Addons
- 不再维护,各addons迁移替代方案参考Discontinuing support for React Addons
- 废弃
react-addons-test-utils
,使用react-dom/test-utils
和react-test-renderer/shallow
替换
15.4.0
React
- 完全分离
React
和React DOM
两个模块
React DOM
- 声明不要手动调用
PropTypes
的警告
React Perf
- React Perf启动后,你可以在chrome浏览器的timeline中查看各组件加载开销详情图表
React Test Utils
- 在
input disabled onClick={foo} />
调用Simulate.click()
,foo
现在会执行
React Test Renderer
ReactTestRenderer.create()
现在接受可选参数{createNodeMock: element => mock}
。现在可以在Jest的snapshot testing中mock refs了
15.3.2
React DOM
- 添加HTML
playsInline
属性 - 添加HTML
as
属性
15.3.0
React
- 添加
React.PureComponent
,替代react-addons-pure-render-mixin
React DOM
- 添加SVG
xmlns
,xmlnsXlink
属性 - 添加HTML
referrerPolicy
属性
React Test Renderer
- 发布公共包,使用
npm install react-test-renderer
安装
React TestUtils Add-on
- 实现
type
属性,用于TestUtils.Simulate.*.
创建事件
15.2.0
React
- 在警告中添加组件栈信息
- 添加
React.PropTypes.symbol
React DOM
<link>
元素添加onLoad
处理函数<source>
元素添加onError
处理函数
React Perf Add-on
- 添加
isRunning()
API
15.0.0
变更日志
- 因使用
document.createElement
替代node.innerHTML
,移除DOM中大部分data-reactid
属性 - 文本外层不再附加一层
<span>
,可能会影响到部分css - 使用注释节点渲染
null
,原本使用<noscript>
标签渲染,会影响部分css,如:nth-child
- 函数式组件支持返回
null
- 提升对SVG的支持,jsx支持所有SVG标签和属性
React.cloneElement()
解析defaultProps
修复了bug:当传入props
的属性值为undefined
,不会应用defaultProps
上对应的值ReactPerf.getLastMeasurement()
返回值变更,不建议依赖该返回值
废弃
- React移除api:
findDOMNode
,render
,renderToString
,renderToStaticMarkup
,unmountComponentAtNode
,迁移至ReactDOM,ReactDOMServer - 移除addons:
batchedUpdates
,cloneWithProps
- 移除react组件实例方法:
setProps
,replaceProps
,getDOMNode
- 移除
react/addons
入口,以react-addons-*
模块替代 - 传递
children
给void element(如input),现在会报错 - 不再支持从通过
refs
取得的dom上取react特定的属性(如this.refs.div.props
),建议使用ref
回调函数获取
新的废弃(React16完全移除)
- 移除:
LinkedStateMixin
,valueLink
。需自行通过wrapper组件替代,如[react-linked-input(https://www.npmjs.com/package/react-linked-input) <input value={null} >
null
值视作清空该input。React 0.14会忽略null值,React 15会警告,需要显示使用空字符串清空或使用undefined
视作未传值ReactPerf.printDOM()
更名为ReactPerf.printOperations()
,ReactPerf.getMeasurementsSummaryMap()
更名为ReactPerf.getWasted()