React 安裝

React 可以直接下載使用,下載包中也提供了很多學習的實例。

本教程使用了 React 的版本為 16.4.0,你可以在官網 https://reactjs.org/ 下載最新版。

你也可以直接使用 Staticfile CDN 的 React CDN 庫,地址如下:

<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script> <!-- 生產環境中不建議使用 --> <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>

官方提供的 CDN 地址:

<script src="https://unpkg.com/react@16/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <!-- 生產環境中不建議使用 --> <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

注意: 在流覽器中使用 Babel 來編譯 JSX 效率是非常低的。

使用實例

以下實例輸出了 Hello, world!

React 實例

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script> <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') ); </script> </body> </html>

實例解析:

實例中我們引入了三個庫: react.min.js 、react-dom.min.js 和 babel.min.js:

  • react.min.js - React 的核心庫
  • react-dom.min.js - 提供與 DOM 相關的功能
  • babel.min.js - Babel 可以將 ES6 代碼轉為 ES5 代碼,這樣我們就能在目前不支持 ES6 流覽器上執行 React 代碼。Babel 內嵌了對 JSX 的支持。通過將 Babel 和 babel-sublime 包(package)一同使用可以讓源碼的語法渲染上升到一個全新的水準。
ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') );

以上代碼將一個 h1 標題,插入 id="example" 節點中。

注意:

如果我們需要使用 JSX,則 <script> 標籤的 type 屬性需要設置為 text/babel。


通過 npm 使用 React

如果你的系統還不支持 Node.js 及 NPM 可以參考我們的 Node.js 教學

我們建議在 React 中使用 CommonJS 模組系統,比如 browserify 或 webpack,本教學使用 webpack。

國內使用 npm 速度很慢,你可以使用淘寶定制的 cnpm (gzip 壓縮支持) 命令行工具代替默認的 npm:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org
$ npm config set registry https://registry.npm.taobao.org

這樣就可以使用 cnpm 命令來安裝模組了:

$ cnpm install [name]

更多資訊可以查閱:http://npm.taobao.org/


使用 create-react-app 快速構建 React 開發環境

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/ ,結果如下圖所示:

專案的目錄結構如下:

my-app/
  README.md
  node_modules/
  package.json
  .gitignore
  public/
    favicon.ico
    index.html
    manifest.json
  src/
    App.css
    App.js
    App.test.js
    index.css
    index.js
    logo.svg

manifest.json 指定了開始頁面 index.html,一切的開始都從這裏開始,所以這個是代碼執行的源頭。

嘗試修改 src/App.js 檔代碼:

src/App.js

import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; class App extends Component { render() { return ( <div className="App"> <div className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h2>歡迎來到IT研修</h2> </div> <p className="App-intro"> 你可以在 <code>src/App.js</code> 檔中修改。 </p> </div> ); } } export default App;

修改後,打開 http://localhost:3000/ (一般自動刷新),輸出結果如下: