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()