课程表

React课程

工具箱
速查手册

React 安装

当前位置:免费教程 » JS/JS库/框架 » React

React 可以直接下载使用,下载包中也提供了很多学习的实例。

本教程使用了 React 的版本为 0.14.7,你可以在官网 http://facebook.github.io/react/ 下载最新版。

你也可以直接使用W3xue教程的 React CDN 库,地址如下:

  1. <script src="//www.w3xue.com/js/react0.14.7/react.min.js"></script>
  2. <script src="//www.w3xue.com/js/react0.14.7/react-dom.min.js"></script>
  3. <script src="//www.w3xue.com/js/react0.14.7/browser.min.js"></script>

使用实例

以下实例输出了 Hello, world!

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>Hello React!</title>
  6. <script src="//www.w3xue.com/js/react0.14.7/react.min.js"></script>
  7. <script src="//www.w3xue.com/js/react0.14.7/react-dom.min.js"></script>
  8. <script src="//www.w3xue.com/js/react0.14.7/browser.min.js"></script>
  9. </head>
  10. <body>
  11. <div id="example"></div>
  12. <script type="text/babel">
  13. ReactDOM.render(
  14. <h1>Hello, world!</h1>,
  15. document.getElementById('example')
  16. );
  17. </script>
  18. </body>
  19. </html>

尝试一下 »

实例解析:

实例中我们引入了三个库: react.min.js 、react-dom.min.js 和 browser.min.js:

  • react.min.js - React 的核心库
  • react-dom.min.js - 提供与 DOM 相关的功能
  • browser.min.js - 用于将 JSX 语法转为 JavaScript 语法
  1. ReactDOM.render(
  2. <h1>Hello, world!</h1>,
  3. document.getElementById('example')
  4. );

以上代码将一个 h1 标题,插入 id="example" 节点中。

注意:

如果我们需要使用 JSX,则 <script> 标签的 type 属性需要设置为 text/babel。


通过 npm 使用 React

如果你的系统还不支持 Node.js 及 NPM 可以参考我们的 Node.js 教程

我们建议在 React 中使用 CommonJS 模块系统,比如 browserify 或 webpack,本教程使用 webpack。

第一步、安装全局包

  1. $ npm install babel -g
  2. $ npm install webpack -g
  3. $ npm install webpack-dev-server --save-dev # 或者 npm install webpack -g

第二步、创建根目录

创建一个根目录,目录名为:reactApp,再使用 npm init 初始化,生成 package.json 文件:

  1. $ mkdir reactApp
  2. $ cd reactApp/
  3. $ npm init
  4. name: (reactApp) W3xue-react-test
  5. version: (1.0.0)
  6. description: W3xue教程 react 测试
  7. entry point: (index.js)
  8. test command:
  9. git repository:
  10. keywords:
  11. author:
  12. license: (ISC)
  13. About to write to /Users/tianqixin/www/reactApp/package.json:
  14.  
  15. {
  16. "name": "W3xue-react-test",
  17. "version": "1.0.0",
  18. "description": "W3xue教程 react 测试",
  19. "main": "index.js",
  20. "scripts": {
  21. "test": "echo \"Error: no test specified\" && exit 1"
  22. },
  23. "author": "",
  24. "license": "ISC"
  25. }
  26.  
  27.  
  28. Is this ok? (yes)

第三步、添加依赖包及插件

因为我们要使用 React, 所以我们需要先安装它,--save 命令用于将包添加至 package.json 文件。

  1. $ npm install react --save
  2. $ npm install react-dom --save

同时我们也要安装一些 babel 插件

  1. $ npm install babel-core
  2. $ npm install babel-loader
  3. $ npm install babel-preset-react
  4. $ npm install babel-preset-es2015

第四步、创建文件

接下来我们创建一些必要文件:

  1. $ touch index.html
  2. $ touch App.jsx
  3. $ touch main.js
  4. $ touch webpack.config.js

第五步、设置编译器,服务器,载入器

打开 webpack.config.js 文件添加以下代码:

  1. var config = {
  2. entry: './main.js',
  3. output: {
  4. path:'./',
  5. filename: 'index.js',
  6. },
  7. devServer: {
  8. inline: true,
  9. port: 7777
  10. },
  11. module: {
  12. loaders: [ {
  13. test: /\.jsx?$/,
  14. exclude: /node_modules/,
  15. loader: 'babel',
  16. query: {
  17. presets: ['es2015', 'react']
  18. }
  19. }]
  20. }
  21. }
  22.  
  23. module.exports = config;
  • entry: 指定打包的入口文件 main.js
  • output:配置打包结果,path定义了输出的文件夹,filename则定义了打包结果文件的名称。
  • devServer:设置服务器端口号为 7777,端口后你可以自己设定 。
  • module:定义了对模块的处理逻辑,这里可以用loaders定义了一系列的加载器,以及一些正则。当需要加载的文件匹配test的正则时,就会调用后面的loader对文件进行处理,这正是webpack强大的原因。

现在打开 package.json 文件,找到 "scripts" 中的 "test" "echo \"Error: no test specified\" && exit 1" 使用以下代码替换:

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

替换后的 package.json 文件 内容如下:

  1. $ cat package.json
  2. {
  3. "name": "W3xue-react-test",
  4. "version": "1.0.0",
  5. "description": "W3xue教程 react 测试",
  6. "main": "index.js",
  7. "scripts": {
  8. "start": "webpack-dev-server --hot"
  9. },
  10. "author": "",
  11. "license": "ISC",
  12. "dependencies": {
  13. "react": "^0.14.7",
  14. "react-dom": "^0.14.7"
  15. }
  16. }

现在我们可以使用 npm start 命令来启动服务。--hot 命令会在文件变化后重新载入,这样我们就不需要在代码修改后重新刷新浏览器就能看到变化。

第六步、index.html

设置 div id = "app" 为我们应用的根元素,并引入 index.js 脚本文件。

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset = "UTF-8">
  6. <title>React App - W3xue教程(w3xue.com)</title>
  7. </head>
  8.  
  9. <body>
  10. <div id = "app"></div>
  11. <script src = "index.js"></script>
  12. </body>
  13.  
  14. </html>

第七步、App.jsx 和 main.js

这是第一个 react 组件。后面的章节我们会详细介绍 React 组件。这个组件将输出 Hello World!!!

App.jsx 文件代码

  1. import React from 'react';
  2.  
  3. class App extends React.Component {
  4. render() {
  5. return (
  6. <div>
  7. Hello World!!!<br />
  8. 欢迎来到W3xue教程学习!!!
  9. </div>
  10. );
  11. }
  12. }
  13.  
  14. export default App;

我们需要引入组件并将其渲染到根元素 App 上,这样我们才可以在浏览器上看到它。

main.js 文件代码

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3.  
  4. import App from './App.jsx';
  5.  
  6. ReactDOM.render(<App />, document.getElementById('app'))

注意:

如果想要组件可以在任何的应用中使用,需要在创建后使用 export 将其导出,在使用组件的文件使用 import 将其导入。

第八步、运行服务

完成以上配置后,我们即可运行该服务:

  1. $ npm start

通过浏览器访问 http://localhost:7777/,输出结果如下:


完整实例下载

以上测试实例各文件代码下载地址:点此下载

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号