## :-: 渲染原理
**渲染:生成用于显示的对象,以及将这些对象形成真实的DOM对象。**
- React元素:React Element,通过`React.createElement()`创建(语法糖:jsx)
- React节点:专门用于渲染到UI界面的对象。通过React元素,创建React节点
React节点类型:
- React DOM节点:创建该元素的React元素类型是一个字符串。
- React 组件节点:创建该节点的React元素类型是函数或者类。
- React 文本节点(TextNode):由字符串创建。
- React 空节点:null、undefinged、false、true
- React 数组节点:该节点是由一个数组创建的。
真实DOM:通过`document.createElement()`创建的dom元素。
### :-: 首次渲染(新节点渲染)
- 通过参数的值创建节点
- 根据不同的节点,做不同的事情。
- 文本节点:通过`document.createTextNode()`创建真实的文本节点。
- 空节点:什么都不做
- 数组节点:遍历数组,将数组中的每一项递归创建节点
- DOM节点:通过`document.createElement()`创建真实的DOM对象,
然后立刻设置该真实DOM元素的各种属性,然后遍历该对应React元素的children属性,递归操作。
- 组件节点:1.函数组件:调用函数返回值生成节点。2.类组件:创建实例,调用对象的生命周期方法,运行render方法拿到节点对象。
- 会生成虚拟DOM树,然后将树形结构保存起来,以便后续使用。
- 将之前生成的真实DOM对象,插入到容器中。
- 前端工具库
- HTML
- CSS
- 实用样式
- JavaScript
- 模拟运动
- 深入数组扩展
- JavaScript_补充
- jQuery
- 自定义插件
- 网络 · 后端请求
- css3.0 - 2019-2-28
- 选择器
- 边界样式
- text 字体系列
- 盒子模型
- 动图效果
- 其他
- less - 用法
- scss - 用法 2019-9-26
- HTML5 - 2019-3-21
- canvas - 画布
- SVG - 矢量图
- 多媒体类
- H5 - 其他
- webpack - 自动化构建
- webpack - 起步
- webpack -- 环境配置
- gulp
- ES6 - 2019-4-21
- HTML5补充 - 2019-6-30
- 微信小程序 2019-7-8
- 全局配置
- 页面配置
- 组件生命周期
- 自定义组件 - 2019-7-14
- Git 基本操作 - 2019-7-16
- vue框架 - 2019-7-17
- 基本使用 - 2019-7-18
- 自定义功能 - 2019-7-20
- 自定义组件 - 2019-7-22
- 脚手架的使用 - 2019-7-25
- vue - 终端常用命令
- Vue Router - 路由 (基础)
- Vue Router - 路由 (高级)
- 路由插件配置 - 2019-7-29
- 路由 - 一个实例
- VUEX_数据仓库 - 2019-8-2
- Vue CLI 项目配置 - 2019-8-5
- 单元测试 - 2019-8-6
- 挂载全局组件 - 2019-11-14
- React框架
- React基本使用
- React - 组件化 2019-8-25
- React - 组件间交互 2019-8-26
- React - setState 2019-11-19
- React - slot 2019-11-19
- React - 生命周期 2019-8-26
- props属性校验 2019-11-26
- React - 路由 2019-8-28
- React - ref 2019-11-26
- React - Context 2019-11-27
- PureComponent - 性能优化 2019-11-27
- Render Props VS HOC 2019-11-27
- Portals - 插槽 2019-11-28
- React - Event 2019-11-29
- React - 渲染原理 2019-11-29
- Node.js
- 模块收纳
- dome
- nodejs - tsconfig.json
- TypeScript - 2020-3-5
- TypeScript - 基础 2020-3-6
- TypeScript - 进阶 2020-3-9
- Ordinary小助手
- uni-app
- 高德地图api
- mysql
- EVENTS
- 笔记
- 关于小程序工具方法封装
- Tool/basics
- Tool/web
- parsedUrl
- request