React框架在現代前端開發的項目中愈來愈經常使用,該框架的語法結構也深深的影響着其餘框架在設計時的思路和理念。本專欄從這篇文章開始,以零基礎出發,一步步總結和講解React框架的使用。javascript
首先咱們先來將React工做環境搭建起來。要想讓React工做起來,須要用到下列三個庫:html
上述三個庫你們能夠去React的官網進行下載。除此以外,咱們還須要建立一個用於書寫React代碼的js文件,能夠命名爲index.js。前端
接下來咱們要將上述js文件按照順序一個個的加載到HTML文檔中。由於本文暫時使用非工程化的方法運行React項目,因此暫時須要手動將js文件加載到HTML文檔中。java
HTML文檔的代碼以下所示。react
<html> <head> <script type="text/javascript" src="js/react.development.js"></script> <script type="text/javascript" src="js/react-dom.development.js"></script> <script type="text/javascript" src="js/babel.min.js"></script> <script type="text/babel" src="js/index.js"></script> </head> <body></body> </html>
上述代碼須要注意如下兩點:web
注意1:獨立的index.js文件須要在加載時將script標記對的type屬性取值爲「text/babel」,而不是「text/javascript」。注意2:這樣的方式運行React項目,須要藉助WebStorm或VS Code這樣的編輯器,在編輯器自帶的內置服務器的幫助下才能正常啓動項目。小程序
搭建好了React工做環境,咱們來實現第一個React程序,即在瀏覽器的頁面中顯示一個一級標題,標題內容爲「Hello,React!」微信小程序
一、首先,在HTML文檔中設置一個div標記對做爲React項目中DOM元素的總容器。會使用Vue.js的同窗能夠將這個div理解爲「掛載點」。同時還要爲這個div標記對設置一個id屬性或class屬性,以保證在index.js文件中能夠方便的引用該節點。數組
<body> <div id=「app」></div> </body>
二、其次,在index.js文件中輸入下列代碼:瀏覽器
ReactDOM.render( <h1>Hello,React!</h1>, document.querySelector("#app") )
ReactDOM.rander()方法是React的核心方法,該方法的格式以下所示。
ReactDOM.rander(JSX代碼,DOM節點)
上述代碼中的h1標記實現的內容實際上是JSX語法的代碼,而不是HTML語法的代碼,儘管它們暫時長得很像。第二個參數使用document.querySelector()方法指定了一個DOM節點,也就是body標記對內部的id屬性取值爲app的那個div。
ReactDOM.render()方法有如下兩個主要功能:
三、理解了上述代碼的概念,如今能夠在webStorm編輯器中執行該項目了。若是你們在編寫React代碼時發現webStorm編輯器頂部有一個細長條提示,以下圖所示。
這條細長的提示內容爲:Switch language version to React JSX,中文翻譯爲 切換語言版本爲React JSX。右側有兩個選項:Switch表示切換,Dismiss表示不予理會。
這裏建議你們選擇「Switch」,不然編輯器因爲沒法正確的識別JSX語法格式而出現多處語法錯誤提示。
React框架對於DOM節點的生成採用了JSX語法格式,這是一種專門用於React的DOM節點生成模式。從本質上說,能夠理解爲HTML標記對和JavaScript語言的這一種結合。
本節咱們對JSX語法進行一個初步的認識,下一篇文章會爲你們詳細的講解JSX語法的要求。
下面這個例子,咱們只作一個數組,利用JSX語法格式將數組中的元素在頁面中渲染爲一個無序列表。代碼以下所示。
let list=[‘張三’,‘李四’,……]; ReactDOM.render( <div> <ul> { list.map(item=>{ return <li>{item}</li> }) } </ul> </div>, document.querySelector("#app") )
根據上述代碼,咱們能夠得出有關JSX語法的如下結論:
本文是React系列教程的第一篇文章,主要爲你們講解了React項目的搭建,認識了JSX語法的基本格式,學習了ReactDOM.render()方法的使用。明天會爲你們系統的講解JSX語法的書寫格式。
小海前端,具備18年Web項目開發和先後臺培訓經驗,在前端領域著有較爲系統的培訓教材,對Vue.js、微信小程序開發、uniApp、React等全棧開發領域都有較爲深的造詣。入住Segmentfault,但願可以更多的結識Web開發領域的同仁,將Web開發大力的進行普及。同時也願意與你們進行深刻的技術研討和商業合做。