React入門教程1---初見面:http://www.javashuo.com/article/p-wjidhutq-db.htmlcss
React 是一個用於構建用戶界面的 JAVASCRIPT 庫。html
React主要用於構建UI,不少人認爲 React 是 MVC 中的 V(視圖)。react
React 起源於 Facebook 的內部項目,用來架設 Instagram 的網站,並於 2013 年 5 月開源。webpack
React 擁有較高的性能,代碼邏輯很是簡單,愈來愈多的人已開始關注和使用它。web
1.聲明式設計 −React採用聲明範式,能夠輕鬆描述應用。express
2.高效 −React經過對DOM的模擬,最大限度地減小與DOM的交互。npm
3.靈活 −React能夠與已知的庫或框架很好地配合。json
4.JSX − JSX 是 JavaScript 語法的擴展。React 開發不必定使用 JSX ,但咱們建議使用它。瀏覽器
5.組件 − 經過 React 構建組件,使得代碼更加容易獲得複用,可以很好的應用在大項目的開發中。babel
6.單向響應的數據流 − React 實現了單向響應的數據流,從而減小了重複代碼,這也是它爲何比傳統數據綁定更簡單。
本教程使用了 React 的版本爲 16.4.0,你能夠在官網 https://reactjs.org/ 下載最新版。
React 能夠直接下載使用,下載包中也提供了不少學習的實例。
本教程使用了 React 的版本爲 16.4.0,你能夠在官網 https://reactjs.org/ 下載最新版。
你也能夠直接使用 BootCDN 的 React CDN 庫,地址以下:
官方提供的 CDN 地址:
注意: 在瀏覽器中使用 Babel 來編譯 JSX 效率是很是低的。
如下實例輸出了 Hello, world!
實例解析:
實例中咱們引入了三個庫: react.min.js 、react-dom.min.js 和 babel.min.js:
以上代碼將一個 h1 標題,插入 id="example" 節點中。
注意:
若是咱們須要使用 JSX,則 <script> 標籤的 type 屬性須要設置爲 text/babel。
若是你的系統還不支持 Node.js 及 NPM 能夠自行安裝。
咱們建議在 React 中使用 CommonJS 模塊系統,好比 browserify 或 webpack,本教程使用 webpack。
國內使用 npm 速度很慢,你可使用淘寶定製的 cnpm (gzip 壓縮支持) 命令行工具代替默認的 npm:
這樣就可使用 cnpm 命令來安裝模塊了:
$ cnpm install [name]
更多信息能夠查閱:http://npm.taobao.org/。
create-react-app 是來自於 Facebook,經過該命令咱們無需配置就能快速構建 React 開發環境。
create-react-app 自動建立的項目是基於 Webpack + ES6 。
執行如下命令建立項目:
$ cnpm install -g create-react-app $ create-react-app my-app $ cd my-app/ $ npm start
在瀏覽器中打開 http://localhost:3000/ ,結果以下圖所示:
項目的目錄結構以下:
manifest.json 指定了開始頁面 index.html,一切的開始都從這裏開始,因此這個是代碼執行的源頭。
嘗試修改 src/App.js 文件代碼:
修改後,打開 http://localhost:3000/ (通常自動刷新),輸出結果以下:
在使用 create-react-app my-app 來建立一個新的React應用,在拉取各類資源時,每每會很是慢,一直卡在那:
fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch
能夠看到資源仍是使用了 npmjs.org,解決方法是換成淘寶的資源:
$ npm config set registry https://registry.npm.taobao.org -- 配置後可經過下面方式來驗證是否成功 $ npm config get registry -- 或 npm info express
React 代碼的書寫格式和之前的 JS 有很大的不一樣,下面經過對這段代碼進行分析瞭解一下他。
之前使用JS 定義一個變量使用 var 如今用 const:
const div = document.createElement('div');
ReactDOM.render(...) 是渲染方法,全部的 js,html 均可經過它進行渲染繪製,他又兩個參數,內容和渲染目標 js 對象。
內容就是要在渲染目標中顯示的東西,能夠是一個React 部件,也能夠是一段HTML或TEXT文本。渲染目標JS對象,就是一個DIV或TABEL,或TD 等HTML的節點對象。
ReactDOM.render(<App />, div);
unmountComponentAtNode() 這個方法是解除渲染掛載,做用和 render 恰好相反,也就清空一個渲染目標中的 React 部件或 html 內容。
ReactDOM.unmountComponentAtNode(div);