Github Change Log

记录新功能、旧功能迁移、功能废弃相关内容,不记录bugfix、警告等小更新。

15.5.0

Blog - React v15.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

15.4.0

Blog - React v15.4.0

React

  • 完全分离ReactReact 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

  • 添加HTMLplaysInline属性
  • 添加HTMLas属性

15.3.0

React

  • 添加React.PureComponent,替代react-addons-pure-render-mixin

React DOM

  • 添加SVGxmlnsxmlnsXlink属性
  • 添加HTMLreferrerPolicy属性

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

Blog - React v15.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:findDOMNoderenderrenderToStringrenderToStaticMarkupunmountComponentAtNode,迁移至ReactDOM,ReactDOMServer
  • 移除addons:batchedUpdatescloneWithProps
  • 移除react组件实例方法:setPropsreplacePropsgetDOMNode
  • 移除 react/addons 入口,以react-addons-*模块替代
  • 传递 children 给void element(如input),现在会报错
  • 不再支持从通过 refs 取得的dom上取react特定的属性(如 this.refs.div.props),建议使用 ref 回调函数获取

新的废弃(React16完全移除)

  • 移除:LinkedStateMixinvalueLink。需自行通过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()