Pemasangan bertindak balas



React boleh dimuat turun dan digunakan secara terus, dan pakej muat turun juga menyediakan banyak contoh pembelajaran.

Tutorial ini menggunakan React versi 0.14.7 Anda boleh memuat turun versi terkini daripada tapak web rasmi http://facebook.github.io/react/.

Anda juga boleh terus menggunakan perpustakaan React CDN laman web php Cina, alamatnya adalah seperti berikut:

<script src="http://static.php.cn/assets/react/react-0.14.7/build/react.min.js"></script>
<script src="http://static.php.cn/assets/react/react-0.14.7/build/react-dom.min.js"></script>
<script src="http://static.php.cn/assets/react/browser.min.js"></script>

Menggunakan Contoh

Contoh berikut menghasilkan Hello, world!

Instance

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello React!</title>
    <script src="http://static.php.cn/assets/react/react-0.14.7/build/react.min.js"></script>
    <script src="http://static.php.cn/assets/react/react-0.14.7/build/react-dom.min.js"></script>
    <script src="http://static.php.cn/assets/react/browser.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>

Run Instance»

Klik butang "Run Instance" untuk melihat contoh dalam talian

Analisis contoh:

Dalam contoh, kami memperkenalkan tiga perpustakaan: react.min.js, react-dom.min.js dan browser.min.js:

  • react.min.js - Pustaka teras React

  • react-dom.min.js - Menyediakan Fungsi berkaitan DOM

  • browser.min.js - Digunakan untuk menukar sintaks JSX kepada sintaks JavaScript

ReactDOM.render(
	<h1>Hello, world!</h1>,
	document.getElementById('example')
);

The kod di atas memasukkan tajuk h1 ke dalam nod id="example".

Nota:

Jika kita perlu menggunakan JSX, atribut jenis teg <skrip>


Gunakan React melalui npm

Jika sistem anda tidak menyokong Node.js dan NPM, anda boleh merujuk kepada tutorial Node.js kami.

Kami mengesyorkan menggunakan sistem modul CommonJS dengan React, seperti browserify atau webpack, dan tutorial ini menggunakan webpack.

Langkah pertama ialah memasang pakej global

$ npm install babel -g
$ npm install webpack -g
$ npm install webpack-dev-server -g

Langkah kedua ialah mencipta direktori akar

Buat direktori akar dengan nama direktori: reactApp, dan kemudian gunakan npm init untuk memulakannya. Jana fail package.json:

$ mkdir reactApp
$ cd reactApp/
$ npm init
name: (reactApp) php-react-test
version: (1.0.0) 
description: php中文网 react 测试
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /Users/tianqixin/www/reactApp/package.json:

{
  "name": "php-react-test",
  "version": "1.0.0",
  "description": "php中文网 react 测试",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this ok? (yes)

Langkah 3. Tambah pakej bergantung dan pemalam

Oleh kerana kita ingin menggunakan React, kita perlu memasangnya terlebih dahulu. Perintah --save digunakan untuk menambah pakej pada fail package.json.

$ npm install react --save
$ npm install react-dom --save

Pada masa yang sama, kami juga perlu memasang beberapa pemalam babel

$ npm install babel-core
$ npm install babel-loader
$ npm install babel-preset-react
$ npm install babel-preset-es2015

Langkah 4. Cipta fail

Seterusnya kami buat beberapa fail yang diperlukan:

$ touch index.html
$ touch App.jsx
$ touch main.js
$ touch webpack.config.js

Langkah kelima, sediakan pengkompil, pelayan, pemuat

Buka fail webpack.config.js dan tambah kod berikut:

 var config = {
   entry: './main.js',
	
   output: {
      path:'./',
      filename: 'index.js',
   },
	
   devServer: {
      inline: true,
      port: 7777
   },
	
   module: {
      loaders: [ {
         test: /\.jsx?$/,
         exclude: /node_modules/,
         loader: 'babel',
			
         query: {
            presets: ['es2015', 'react']
         }
      }]
   }
	
}

module.exports = config;
  • masukan: Nyatakan fail kemasukan berpakej main.js.

  • output: Konfigurasikan hasil pembungkusan, laluan mentakrifkan folder output dan nama fail mentakrifkan nama fail hasil pembungkusan.

  • devServer: Tetapkan nombor port pelayan kepada 7777 Anda boleh menetapkannya sendiri selepas port.

  • modul: mentakrifkan logik pemprosesan untuk modul Di sini anda boleh menggunakan pemuat untuk menentukan siri pemuat, serta beberapa peraturan biasa. Apabila fail yang akan dimuatkan sepadan dengan corak biasa ujian, pemuat seterusnya akan dipanggil untuk memproses fail Itulah sebabnya pek web berkuasa.

Sekarang buka fail package.json dan cari "test" "echo "Ralat: tiada ujian dalam "skrip" dinyatakan" && keluar 1" Gantikan dengan kod berikut:

"start": "webpack-dev-server --hot"

Kandungan fail package.json yang diganti adalah seperti berikut:

$ cat package.json 
{
  "name": "php-react-test",
  "version": "1.0.0",
  "description": "php中文网 react 测试",
  "main": "index.js",
  "scripts": {
	"start": "webpack-dev-server --hot"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "react": "^0.14.7",
    "react-dom": "^0.14.7"
  }
}

Sekarang kita boleh menggunakan perintah >npm start untuk memulakan perkhidmatan. Perintah --hot akan memuatkan semula fail selepas ia berubah, jadi kami tidak perlu memuat semula penyemak imbas selepas kod diubah suai untuk melihat perubahan.

Langkah 6, index.html

Tetapkan div id = "app" sebagai elemen akar aplikasi kami dan perkenalkan fail skrip index.js .

<!DOCTYPE html>
<html>

   <head>
      <meta charset = "UTF-8">
      <title>React App - php中文网(php.cn)</title>
   </head>

   <body>
      <div id = "app"></div>
      <script src = "index.js"></script>
   </body>

</html>

Langkah 7, App.jsx dan main.js

Ini ialah komponen tindak balas yang pertama. Kami akan memperkenalkan komponen React secara terperinci dalam bab berikut. Komponen ini akan mengeluarkan Hello World!!!.

Kod fail App.jsx

import React from 'react';

class App extends React.Component {
   render() {
      return (
         <div>
            Hello World!!!<br />
            欢迎来到php中文网学习!!!
         </div>
      );
   }
}

export default App;

Kami perlu membawa masuk komponen dan menjadikannya pada elemen akar Apl supaya kami dapat melihatnya pada penyemak imbas.

kod fail main.js

import React from 'react';
import ReactDOM from 'react-dom';

import App from './App.jsx';

ReactDOM.render(<App />, document.getElementById('app'))

Nota:

Jika anda mahu komponen digunakan dalam mana-mana aplikasi, anda perlu ciptakannya Kemudian gunakan eksport untuk mengeksportnya dan gunakan import untuk mengimportnya dalam fail menggunakan komponen.

Langkah 8, jalankan perkhidmatan

Selepas melengkapkan konfigurasi di atas, kami boleh menjalankan perkhidmatan:

$ npm start

Akses melalui penyemak imbas http:/ / localhost:7777/, hasil output adalah seperti berikut:

QQ截图20161019101041.png


Muat turun contoh penuh

Alamat muat turun setiap kod fail contoh ujian di atas: http ://static.php.cn/download/reactApp.zip.