React 15.5带来重大修改
Facebook發(fā)布了React 15.5,給開(kāi)發(fā)人員足夠的時(shí)間來(lái)調(diào)整和適應(yīng)版本16的重大變化。
Andrew Clark在一篇博文中公布了將在主程序包中棄用React.PropTypes和React.createClass兩個(gè)特性。為了準(zhǔn)備版本16,同時(shí)作為一種改善未來(lái)代碼規(guī)模的方法,他們已經(jīng)將這兩個(gè)特性移到了它們自己的程序包中。
目前,如果開(kāi)發(fā)人員在主程序包中使用了其中的任何一項(xiàng)特性,控制臺(tái)就會(huì)給出警告信息。如果開(kāi)發(fā)人員現(xiàn)在不修復(fù)它,那么在版本16中代碼就會(huì)遭到破壞。
在React最初發(fā)布時(shí),JavaScript沒(méi)有提供一種地道的創(chuàng)建類的方法,因此,我們提供了一個(gè):React.createClass
后來(lái),類作為ES2015的一部分添加到該語(yǔ)言,我們也就添加了使用JavaScript類創(chuàng)建React組件的能力。和功能組件一起,JavaScript類現(xiàn)在成為創(chuàng)建React組件的首選方式。
如果不選擇使用JavaScript類對(duì)應(yīng)用進(jìn)行重新編碼,那么開(kāi)發(fā)人員還可以選擇NPM上提供的create-react-class模塊。這仍然需要修改代碼,但可以避免使用JavaScript類。
對(duì)于大多數(shù)開(kāi)發(fā)人員而言,刪除propTypes應(yīng)該不會(huì)成為太大的損失。那些使用TypeScript編寫React的開(kāi)發(fā)人員,或者是那些在工具鏈中集成了Flow的開(kāi)發(fā)人員,有更好的React項(xiàng)目類型檢查方式。例如,TypeScript開(kāi)發(fā)人員可以使用強(qiáng)類型定義props:
interface MyProps { firstName: string, lastName: string }export default class MyComponent extends React.Component<MyProps, any> {}以這種方式聲明類,TypeScript開(kāi)發(fā)人員就可以自動(dòng)獲得恰當(dāng)?shù)念愋蜋z查。已經(jīng)沒(méi)有必要使用propTypes了。
版本15.5還是React addons的最新版本。其中有一部分已經(jīng)被納入到其他程序包,同時(shí),createFragment已經(jīng)成為版本16的一部分,為內(nèi)置Fragments提供支持。
查看英文原文:React 15.5 Prepares Developers For Big Changes
總結(jié)
以上是生活随笔為你收集整理的React 15.5带来重大修改的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OracleDB的数据库名,实例名,服务
- 下一篇: Storm部署文档