一、 基本環境
1、啓動http服務器
根據本地的Python版本不同,啓動http服務器需要不同的指令,比如,我的Python是2.7版本,此時執行如下指令:
啓動後,在瀏覽器中訪問: localhost.8000,即可以訪問該http服務器;
2、編寫react程序
1)在自己的目錄下,新建文件: index.html, 文件中,內容如下:
如上, react的代碼,都會寫在標籤<script></script>標籤內;此時打開index.html ,可以看到title部分爲『Hello React』;
2)引入react框架代碼到源程序中:具體如下:
一方面,這個框架代碼,其實可以直接下載到本地,然後直接引用本地的文件,這裏,我直接使用的官方提供的 CDN 地址;
具體介紹: 實例中,我們引入了三個庫: react.min.js、 react-dom.min.js、 babel.min.js;
react.min.js: React的核心庫;
react-dom.min.js: 提供與DOM相關的功能;
babel.min.js: babel內嵌了對jsx的支持;通過將 Babel和 babel-sublime 包(package)一同使用可以讓源碼的語法渲染上升到一個全新的水平;
另一方面,需要在body中,增加『text/babel』,這個是固定的;
3)展現內容
任何需要展示在界面上的東西,都需要依賴react提供的『render』函數; 這裏把內容添加render函數,調用及其得到的結果如下:
雖然可以正常返回,但是,返回的結果中,有警告提示,提示我們上面那麼調用,並不是合理的;
原因分析:
a) render函數的調用,需要傳入兩個參數,如上所示:
第一個參數,是jsx對象,jsx對象會把需要展示在界面上的內容進行組織並表示出來;之後react會將jsx轉換爲一些createElement調用,而createElement會在整個瀏覽器的DOM模型中添加DOM元素,來改變DOM模型,從而達到瀏覽器在渲染上做出響應改變的效果;
第二個參數,是這個jsx所對應的DOM模型所要掛載的父節點,這裏我們掛載到了body節點; 但是,正如警告所示,直接講dom模型掛載到body節點,是有問題的; 【具體的內部原因,稍後考究】
b) 找到原因後,我們做一個修改;
這裏採取,定義一個div節點,然後把jsx的DOM元素掛在到定義的div上即可;具體如下:
再次運行,查看結果,之前的警告已經沒有了;
4) 豐富界面
在header中,通過style標籤,增加css代碼,這裏分別對jsx對應的dom所掛在的container做了修飾,對h1也做了修飾,具體修改如下:
調用後的結果如下:
未完待續。。。