ReactJS是用于構(gòu)建可重用UI組件的JavaScript庫。 根據(jù)React官方文檔,以下是定義 -
React是一個(gè)用于構(gòu)建可組合的用戶界面的庫。 它鼓勵(lì)創(chuàng)建可重用的UI組件,這些組件呈現(xiàn)隨時(shí)間而變化的數(shù)據(jù)。 許多人在MVC中使用React作為V的部分。 將DOM中的DOM抽象化,提供更簡(jiǎn)單的編程模型和更好的性能。 React也可以使用Node在服務(wù)器上呈現(xiàn),并且可以使用React Native為本機(jī)應(yīng)用程序供有力支持。 React實(shí)現(xiàn)單向無效數(shù)據(jù)流,相比傳統(tǒng)的數(shù)據(jù)綁定,減少了反復(fù)套用,更容易推理。
React功能
- JSX - JSX是JavaScript語法擴(kuò)展。在React開發(fā)中沒有必要使用JSX,但推薦使用。
- 組件 - React是關(guān)于組件的。需要把所有東西都看作一個(gè)組件。這將幫助您在更大規(guī)模的項(xiàng)目上工作時(shí)維護(hù)代碼。
- 單向數(shù)據(jù)流和Flux - React實(shí)現(xiàn)單向數(shù)據(jù)流,這使得您可以輕松推理您的應(yīng)用程序。 Flux是一種有助于保持?jǐn)?shù)據(jù)單向性的模式。
- 許可 - React根據(jù)Facebook Inc.許可。文檔根據(jù)CC BY 4.0許可。
React優(yōu)勢(shì)
- 使用作為JavaScript對(duì)象的虛擬DOM。這將改善應(yīng)用程序的性能,因?yàn)镴avaScript虛擬DOM比常規(guī)DOM更快。
- 可以在客戶端和服務(wù)器端以及其他框架中使用。
- 組件和數(shù)據(jù)模式提高了可讀性,這有助于維護(hù)更大的應(yīng)用程序。
React劣勢(shì)
- 僅涵蓋應(yīng)用程序的視圖層,因此仍然需要選擇其他技術(shù)來獲取完整的開發(fā)工具集。
- 使用內(nèi)聯(lián)模板和JSX,這對(duì)某些開發(fā)人員來說可能看起來很尷尬。