文章目录
一,React简介
1.什么是React
- React 是一个用于构建用户界面的 JavaScript 库,主要用于构建 UI,而不是一个 MVC 框架,但可以使用 React 作为 MVC 架构的 View 层轻易的在已有项目中使用,它是一个用于构建用户界面的 JavaScript 库,起源于 Facebook 的内部项目,用来架设 Instagram 的网站,于 2013 年 5 月开源。
- React 是用于动态构建用户界面的 JavaScript 库(只关注于视图)。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
2.React工作原理
- React 在内存中创建一个虚拟 DOM。
- React 不是直接操作浏览器的 DOM,而是在内存中创建一个虚拟 DOM,在对浏览器 DOM 进行更改之前,它会在其中执行所有必要的操作。
- React 只改变需要改变的地方!
- React 找出已经进行了哪些更改,并只更改需要更改的内容。
3.React历史
React.JS 的当前版本是 V18.0.0(2022 年 4 月)。
首次向公众发布 (V0.3.0) 于 2013 年 7 月。
React.JS 于 2011 年首次用于 Facebook 的 Newsfeed 功能。
Facebook 软件工程师 Jordan Walke 创建了它。
4.React的特点
- React速度快(虚拟DOM)
与其他框架相比,React采用了独特操作DOM的方式。
它并不直接对DOM进行操作,它引入了一个虚拟DOM的概念,安插在JavaScript逻辑和实际的DOM之间,这一概念提高了WEB性能,我们所谓的 DOM 树其实就是一个树状结构嵌套的 JavaScript 对象。而在浏览器中,DOM 树的改动会造成浏览器一系列的计算,因此我们可以基于现有的 DOM 树结构,克隆出一份一模一样的 DOM 树,即“虚拟 DOM ”,将所有的改动都实现在这棵虚拟 DOM 上,然后统一合并至浏览器中的 DOM 树中以解决之前所提到的性能瓶颈。 - 跨浏览器兼容
虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的 - 组件化
为程序编写独立的模块化UI组件,并且它们可以引入其他组件。这等同于提高了代码的可维护性。 - 单向数据流
在 React 中,数据的组织形式是树状的,由上至下单向流动(对应DOM树),之所以这样设计,是因为:数据流更清晰,组件的状态就更可控; - 纯粹的JavaScript语法
我们很容易就忽视 React 的这一特点,即在 React 中,没有任何特殊的专有的 React 语法需要理解和记忆,所有的组件,数据操作,业务逻辑都是通过使用 JavaScript 语法实现的。
5. React 高效的原因
- 使用虚拟 (virtual)DOM, 不总是直接操作页面真实DOM。
- DOM Diffing算法, 最小化页面重绘。
6.React 官方网站
二,React基本使用
1.基础代码
- 在书写React前需要先引入React 的
js代码库
下载地址
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 准备好一个容器 -->
<div id="test"></div>
<!-- 引入 React 核心库 -->
<script src="../js/react.development.js"></script>
<!-- 引入 react-dom 用于支持 react 操作 DOM -->
<script src="../js/react-dom.development.js"></script>
<!-- 引入babel:
1. ES6 ==> ES5
2. jsx ==> js
-->
<script src="../js/babel.min.js"></script>
<script type="text/babel">
// 1. 创建虚拟 DOM
const VDOM = <h1>Hello,React</h1>
// 2. 渲染到页面中的指定 DOM
// ReactDOM.render(虚拟DOM,真实DOM)
ReactDOM.render(VDOM,