小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
二倍速刷 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 操作 DOMbabel.min.js
:用于将 JSX 转为 JS
虚拟 DOM 创建
- JSX 方式:
- JS 方式
Babel 会把 JSX 转译成一个名为 React.createElement()
函数调用。
虚拟 DOM 与真实 DOM
虚拟 DOM:
- 本质是 Object 类型的对象(一般对象)
- 虚拟 DOM 比较“轻”,真实 DOM 比较“重”,因为虚拟 DOM 是 React 内部在用,无需挂载真实 DOM 上那么多属性。
- 虚拟 DOM 最终会被 React 转化为真实 DOM,呈现在页面上。