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了,参见下图:

单击此网页上按钮,可以看到一些反应性事件。

附、较好系统学习的专题

https://www.cnblogs.com/ywjfx/category/1403746.html

React 入门教程(适合初学者)相关推荐

  1. 【前端实例代码】Html5+css3创建拟物风格昏昏欲睡的云朵动画网页效果~前端开发网页设计基础入门教程~适合初学者~超简单~

    b站视频演示效果: [前端实例代码]Html5+css3创建拟物风格昏昏欲睡的云朵动画网页效果!前端开发网页设计基础入门教程!适合初学者~超简单~ 效果图: 完整代码: <!DOCTYPE ht ...

  2. B站尚硅谷React入门教程

    视频链接:React全家桶(技术栈) 第1章:React入门 1.1. React简介 1.1.1 官网 英文官网: https://reactjs.org/ 中文官网: https://react. ...

  3. React 入门教程

    欢迎来到小膏的react入门讲解.废话不多说.我们开始吧. 1.什么是react? 学习react能给我们带来什么? 在这里我占时提出这三个问题,我一一的回答. 什么是react 其实react 不是 ...

  4. 超详细的新手React入门教程

    React简介 react是什么? 为什么学? React入门 React 基础案例 JSX基础语法 两种创建虚拟DOM的方式 1.使用JSX创建虚拟DOM 2.使用JS创建虚拟DOM jsx语法规则 ...

  5. python入门教程书籍-初学者最好的Python书籍

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 来自于BESTBOOKS 发表于 2016年9月19日 更新于 2016年9月22日 本周,我们提供一个初 ...

  6. 160921、React入门教程第一课--从零开始构建项目

    工欲善其事必先利其器,现在的node环境下,有太多好用的工具能够帮助我们更好的开发和维护管理项目. 我本人不建议什么功能都自己写,我比较喜欢代码复用.只要能找到npm包来实现的功能,坚决不自己敲代码. ...

  7. React入门教程第三课--gulp编译优化

    上节课中我提到了,在gulpfile中编写task编译js和sass的task. 然后在项目中使用时发现,当项目内容越写越多时,编译速度会越来越久. 看了一下编译过程.上次gulpfile中的定义是当 ...

  8. React 入门教程笔记

    阅读本文之前,建议先阅读以下教程: React 教程 - 菜鸟教程 React 文档 - 中文 安装 React 1.下载 wget https://cdn.staticfile.org/react/ ...

  9. Django----做一个简单网页的教程(适合初学者)

    这篇文字适合刚学习Django的同学,如果比较熟的就不用看了. 以下都是讲在windows上的部署情况: 准备: 1.python3.6 2.pycharm profession(专业版) 3.安装D ...

最新文章

  1. zabbix监控windows 服务器各项性能
  2. D - Bear and Finding Criminals
  3. 9.5 程序示例--推荐系统-机器学习笔记-斯坦福吴恩达教授
  4. Sql高级查询(三)
  5. 数据库优化 - MYSQL优化
  6. 信息学奥赛一本通 1153:绝对素数
  7. JetBrains系列WebStorm等中文输入法无法跟随光标的问题的解决办法
  8. Halcon PDF文档(hdevelop_users_guide)学习总结之三——关于变量窗口的小知识
  9. python求解对给定字符串,求解所有子序列是否为回文序列
  10. .NET下的开发者们正在继承计算机早期时代伟大的黑客精神
  11. app用http3与服务器_mqtt服务器搭建以及客户端Paho安装使用
  12. BN层(Pytorch)
  13. 2018款联想Y7000 黑苹果外接显示器方案
  14. PS抠图小技巧-【色彩范围】
  15. Ubuntu系统打不开windows磁盘文件
  16. 微信圣诞头像来了,快给你的头像带上圣诞帽吧
  17. 二、 Unity 游戏入门 创建角色 Main Character and First Script
  18. mysql upgrade 是什么意思_Upgrade是什么意思?
  19. zigbee终端入网
  20. 第一章 3ds Max基础界面和操作

热门文章

  1. 详解设计模式:模版方法模式
  2. 泉此方的一天-万恶的作业(homework)
  3. oracle售前总监高礼强,高礼强谈甲骨文软件:以C.I.O为核心
  4. python几何拼贴画_想要了解拼贴画这篇就够了,最全的种类和技法全在这里!
  5. JAVA计算机毕业设计万达影院售票管理系统(附源码、数据库)
  6. 你管这玩意叫异或运算?
  7. [UBUNTU]桌面安装
  8. 008 Linux 文件查找 find
  9. 【文件上传绕过】——后端检测_文件的扩展名检测漏洞
  10. DCV(Discriminative Common Vectors)based on LDA(fisher线性判别)