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/[email protected]/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.development.min.js 、react-dom.development.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>歡迎來到入門教學</h2> </div> <p className="App-intro"> 你可以在 <code>src/App.js</code> 檔案中修改。 </p> </div> ); } } export default App;

修改後,開啟 http://localhost:3000/ (一般自動重新整理),輸出結果如下: