React 基础小知识:概念

557 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

二倍速刷 B 站 # 尚硅谷2021版React技术全家桶 视频,记录一下有趣的一些点吧。(习惯看文章和看文档,现刷视频感觉有点不适应,单口相声老师讲的很好,讲的太细但也不错。)

React 简介

"用于构建用户界面的 JavaScript 库"。通俗来讲:就是一个将数据渲染为 HTML 视图的开源 JavaScript 库。

React 由 Facebook 开发,2013 年 5 月宣布开源。

React 解决了什么问题?

  • 原生 JavaScript 操作 DOM 繁琐、效率低(DOM-API 操作 UI)。
  • 使用 JavaScript 直接操作 DOM,浏览器会进行大量的重绘重排。
  • 原生 JavaScript 没有组件化编码方案,代码复用率低。

React 有什么特点?

  • 采用组件化模式、声明式编码,提高开发效率及组件复用率。
  • 在 React Native 中可以使用 React 语法进行移动端开发。(可以使用 React 语法编写出安卓和 IOS 应用)
  • 使用虚拟 DOM + Diffing 算法,尽量减少与真实 DOM 的交互。

React 上手

  • react.developmen.js:React 核心库
  • react-dom.developmen.js:用于支持 React 操作 DOM
  • babel.min.js:用于将 JSX 转为 JS

虚拟 DOM 创建

  • JSX 方式:

image.png

  • JS 方式

image.png

Babel 会把 JSX 转译成一个名为 React.createElement() 函数调用。

虚拟 DOM 与真实 DOM

虚拟 DOM:

  • 本质是 Object 类型的对象(一般对象)
  • 虚拟 DOM 比较“轻”,真实 DOM 比较“重”,因为虚拟 DOM 是 React 内部在用,无需挂载真实 DOM 上那么多属性。
  • 虚拟 DOM 最终会被 React 转化为真实 DOM,呈现在页面上。