React 入门教程
React 官网
https://reactjs.org/docs/getting-started.html
React 是一个用于构建用户界面(UI)的 JAVASCRIPT 库(框架,可以被复用的代码)。
React的常用使用方式有两种:
一、使用<script>标签(标记)引入。 在 HTML 文件中添加 React,把 React 作为普通的 <script> 标记添加到 HTML 页面上,以及使用可选的 JSX。这是将 React 集成到现有网页最简单的方式。
可以使用CDN(Content Delivery Network,即内容交付网络)库(框架):
<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>
说明
react.development.js(早期是react.js )是 React 的核心库,
react-dom.development.js(早期是react-dom.js)是提供与 DOM 相关的功能
babel.min.js - Babel 可以将 ES6 代码转为 ES5 代码,这样我们就能在目前不支持 ES6 浏览器上执行 React 代码。Babel 内嵌了对 JSX 的支持。通过将 Babel 和 babel-sublime 包(package)一同使用可以让源码的语法渲染上升到一个全新的水平。
也可以将它们下载到本地在使用,注意要正确指明路径:
<script src="路径/react.development.js"></script>
<script src="路径/react-dom.development.js"></script>
<script src="路径/babel.min.js"></script>
使用 React 的网页源码,结构大致如下:
<!DOCTYPE html>
<html>
<head>
<!-- 加载库 -->
<script src="……“></script>
<script src=""……"></script>
<script src="…… "></script>
</head>
<body>
<div id="example"></div>
<!-- 如果需要使用 JSX,则 <script> 标签的 type 属性需要设置为 text/babel。 -->
<script type="text/babel">
// ** Our code goes here! **
</script>
</body>
</html>
特别提醒:注意两点,
一是,首先加载库
二是 <script> 标签的 type 属性设为 text/babel 。这是因为 React 独有的 JSX 语法,跟 JavaScript 不兼容。凡是使用 JSX 的地方,都要加上 type="text/babel" 。
实例
<!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>
<!-- 如果需要使用 JSX,则 <script> 标签的 type 属性需要设置为 text/babel。 -->
<div id="example"></div>
<script type="text/babel">
ReactDOM.render(
<h2>Hello, world! 这是我的测试</h2>,
document.getElementById('example')
);
</script>
</body>
</html>
其中,ReactDOM.render 是 React 的最基本方法,用于将模板转为 HTML 语言,并插入指定的 DOM 节点。
实例输出了 Hello, world! 这是我的测试。参见下图:
更多可在浏览器运行的示例,可参见React 官方例子,前12个例子demo01至demo12,详见后面。
二、使用命令行界面(CLI,command-line interface)工具。安装React 开发者工具。
这需要你的电脑已安装Node.js
可以使用以下命令来查看当前的 Node 版本:
node -v
说明没安装,Node.js 安装包及源码下载地址为:
https://nodejs.org/en/download/
双击下载后的安装包,比较简单就不多说了(需要留意的是安装路径,默认是C:\Program Files\nodejs)。
输入node -v,若显示类似如下
说明OK。
npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等),命令格式
npm install <name> [-g] [--save-dev]
其中,<name>:node插件名称。
-g:全局安装。
将会安装在C:\Users\Administrator\AppData\Roaming\npm,并且写入系统环境变量; 非全局安装:将会安装在当前定位目录;全局安装可以通过命令行在任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过require()调用;
--save:将保存配置信息至package.json(package.json是nodejs项目配置文件);
-dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点;
查看npm帮助:
npm help
有关<command>的快速帮助 npm <command> -h 如
npm install -h
【 cnpm:因为npm安装插件是从国外服务器下载,受网络的影响比较大,可能会出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。” 更多信息可以查阅:http://npm.taobao.org/ 】
在 React 中使用 CommonJS 模块系统,如 browserify 或 webpack,本教程使用 webpack。
Webpack 是一个前端资源加载/打包工具,只需要相对简单的配置就可以提供前端工程化需要的各种功能,并且如果有需要它还可以被整合到其他比如 Grunt / Gulp 的工作流。
安装 Webpack:npm install -g webpack
Webpack中文文档
http://doc.codingdict.com/webpack-cn-doc/
babel-loader,用来处理ES6语法,将其编译为浏览器可以执行的js语法。
安装npm install babel-loader --save-dev
使用 create-react-app 可以快速构建 React 开发环境
create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境。create-react-app 自动创建的项目是基于 Webpack + ES6 。
安装create-react-app
使用create-react-app建立项目app-test (提示名称不能再包含大写字母否者报错)
create-react-app app-test
建立项目名(也作为项目文件夹)app-test,请耐心需要等待一会。
键入:
cd app-test
npm start
将自动打开网页http://localhost:3000/,参见下图:
根据提示Creating a new React app in C:\Users\Wang\app-test.
项目的目录结构如下:
其中:
1.node_modules是各个插件存放位置
2.public用于放置静态资源,里面的资源不会参与构建
3.src是源码文件,一般做开发就在这个文件夹,会参与打包构建
现在,试着修改 src/App.js 文件代码:
使用creata-react-ap构建react项目后,可以使用如下命令完成的工作(提示新手:可能需要先用cd命令进入项目所在的目录):
npm start
启动开发服务器。这个前面已提到,还可以使用的有:
npm run build 将应用程序捆绑到静态文件中以供生产.
npm test 启动测试运行程序。
npm run eject 删除此工具并复制生成依赖项、配置文件 以及应用程序目录中的脚本。请慎重使用!
React 官方例子
https://github.com/ruanyf/react-demos
前12个例子demo01至demo12,可在浏览器运行,每个目录都有一个 index.html 文件,在浏览器打开这个文件(大多数情况下双击即可),就能立刻看到效果。
Demo13 是服务器端的例子,运行过程如下(参见下图):
在cmd中,先cd命令进入demo13所在目录
cd /d D:\ReactDomes\demo13
安装依赖项
npm install
将src子目录中的所有jsx文件转换为js文件
npm run build
现在,可以启动http服务器
node server.js
当看到Listening on 3000...
就可以导航到(在浏览器地址栏中打开)http://localhost:3000了,参见下图:
单击此网页上按钮,可以看到一些反应性事件。
附、较好系统学习的专题