React今日發佈了15.5.0版本,同時這也將是以15開頭的最後一個版本,下一次發佈,咱們將迎來React 16.0.0html
在15.5.0這一版本中,主要有如下兩處改動:react
在以前的版本之中,咱們能夠經過React.PropTypes這個API訪問React內置的一些類型來檢查props,在15.5.0版本中,這一API被獨立成了一個新的包 prop-typesgit
// 15.4 之前 import React from 'react'; class Component extends React.Component { render() { return <div>{this.props.text}</div>; } } Component.propTypes = { text: React.PropTypes.string.isRequired, } // 15.5 之後 import React from 'react'; import PropTypes from 'prop-types'; class Component extends React.Component { render() { return <div>{this.props.text}</div>; } } Component.propTypes = { text: PropTypes.string.isRequired, };
目前的版本中咱們一共有三種聲明組件的方式:github
由於以前JS當中並無類的概念,因此React在內部實現了一個createClass的方法,但如今ES6已經十分普及,對Class的支持已經比較完善,因此在以後的版本中,React會廢棄createClass這一方法。算法
固然,若是使用ES6 Class來聲明組件的話,以前的mixins就沒法使用了,因此React還爲createClass方法準備了一個獨立的包 create-react-classnpm
// 15.4 之前 var React = require('react'); var Component = React.createClass({ mixins: [MixinA], render() { return <Child />; } }); // 15.5 之後 var React = require('react'); var createReactClass = require('create-react-class'); var Component = createReactClass({ mixins: [MixinA], render() { return <Child />; } });
以上是兩項最主要的改變,也是最影響咱們已有代碼庫的改動。你仍然能夠在15.5.0版本中使用這兩個API,可是在控制檯會看到輸出的廢棄警告,而且在接下來的16.0.0版本中,這兩個API會被完全移除。bash
不過同窗們也不一樣擔憂,此次改動以後,將能夠「無痛直升」16.0.0版本。架構
另外還有一些有關測試和附件的改動就再也不贅述,想要了解的同窗能夠去閱讀React今天發佈的博客React v15.5.0測試
其他的改動和開發計劃能夠在React 15.5 and 16 Umbrella · Issue #8854 · facebook/react查閱。ui
你也能夠經過下面的命令提早體驗react 16.0.0版本
npm install react@16.0.0-alpha.8
React 16 正式版本有望在今夏發佈: