react不是JavaScript,而是用JavaScript語言編寫的一個庫,是一個聲明式、高效且靈活的用于構建用戶界面的JS庫;使用react可以將一些簡短、獨立的代碼片段組合成復雜的前端UI界面。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5&&react16版、Dell G3電腦。
JavaScript是一種高級的、解釋型的編程語言;它是一門基于原型、函數(shù)先行的語言,是一門多范式的語言,它支持面向對象編程,命令式編程,以及函數(shù)式編程。
而React 是一個聲明式,高效且靈活的用于構建用戶界面的 JavaScript 庫。使用 React 可以將一些簡短、獨立的代碼片段組合成復雜的 UI 界面,這些代碼片段被稱作“組件”。
由于 React的設計思想極其獨特,屬于革命性創(chuàng)新,性能出眾,代碼邏輯卻非常簡單。所以,越來越多的人開始關注和使用,認為它可能是將來 Web 開發(fā)的主流工具。
這個項目本身也越滾越大,從最早的UI引擎變成了一整套前后端通吃的 Web App 解決方案。衍生的 React Native 項目,目標更是宏偉,希望用寫 Web App 的方式去寫 Native App。如果能夠實現(xiàn),整個互聯(lián)網(wǎng)行業(yè)都會被顛覆,因為同一組人只需要寫一次 UI ,就能同時運行在服務器、瀏覽器和手機。
React主要用于構建UI。你可以在React里傳遞多種類型的參數(shù),如聲明代碼,幫助你渲染出UI、也可以是靜態(tài)的HTML DOM元素、也可以傳遞動態(tài)變量、甚至是可交互的應用組件。
對于企業(yè)來說,react是初級Web前端工程師與中高級前端工程師的分界線,隨著互聯(lián)網(wǎng)技術的革新以及越來越多的人涌入前端行業(yè),企業(yè)招聘的門檻抬高,而react可以看作是帥選人才的第一道網(wǎng)。
使用react的優(yōu)勢
1、React速度很快
它并不直接對DOM進行操作,引入了一個叫做虛擬DOM的概念,安插在javascript邏輯和實際的DOM之間,性能好。
reactjs定義了一套變量形式的dom模型,一切操作和換算直接在變量中,這樣減少了操作真實dom,性能真是相當?shù)母?,和主流MVC框架有本質的區(qū)別,并不和dom打交道。
2、跨瀏覽器兼容
虛擬DOM幫助我們解決了跨瀏覽器問題,它為我們提供了標準化的API,甚至在IE8中都是沒問題的。
3、一切都是component:
代碼更加模塊化,重用代碼更容易,可維護性高。
4、單向數(shù)據(jù)流
其實reactjs的核心內容就是數(shù)據(jù)綁定,所謂數(shù)據(jù)綁定指的是只要將一些服務端的數(shù)據(jù)和前端頁面綁定好,開發(fā)者只關注實現(xiàn)業(yè)務就行了
5、同構、純粹的javascript
因為搜索引擎的爬蟲程序依賴的是服務端響應而不是JavaScript的執(zhí)行,預渲染你的應用有助于搜索引擎優(yōu)化。
6、兼容性好
比如使用RequireJS來加載和打包,而Browserify和Webpack適用于構建大型應用。它們使得那些艱難的任務不再讓人望而生畏。