全部分类
前端基础
19
JavaScript
12
框架
9
Vue3
2
《渲染器原理》
10
进阶
13
数据结构和算法
2
TypeScript
3
React
7
手写Mini React
2
手写 mini react
2
手写mini-react
1
工程化
13
vite
3
rollup
3
webpack
4
学习笔记
3
基础知识
1
网络
3
其他
2
架构设计
1
ES6
1
NodeJS
2
Vue
1
CSS
16
性能优化
1
《Git》学习笔记
14
Nodejs
2
前端
3
页面
16
收藏夹
3
JavaScript文章
5
技术
13
技术文档
5
Vue文章
2
HTML
1
《ES6 教程》笔记
34
《JavaScript教程》笔记
7
HTML和浏览器
1
《TypeScript 从零实现 axios》
50
ts-axios 项目初始化
3
ts-axios 基础功能实现
6
ts-axios 异常情况处理
2
ts-axios 接口扩展
3
ts-axios 拦截器实现
1
ts-axios 配置化实现
3
ts-axios 取消功能实现
1
ts-axios 更多功能实现
8
ts-axios 单元测试
10
ts-axios 部署与发布
2
TypeScript 常用语法
8
初识 TypeScript
3
博客搭建
3
GitHub技巧
4
函数式编程范式在很多框架和库里中使用十分广泛,目前React已经全面拥抱函数式组件,源码中处处体现了函数式编程的思想。Vue3里所有的响应式API都是函数式编程,可以用reactive、watch、computed来组合出各种各样的可复用的逻辑。包括使用很广泛的lodash工具库就是一个典型的函数式编程库,此外包括Redux,Koa,Express里面也有很多是函数式编程。所以学习了解函数式编程范式是很有必要的。
# 1. 渲染器宏观逻辑介绍
在上一篇文章中,我们实现了如何将jsx编译成React.createElement(...),执行后得到虚拟 DOM。这一章我们循序渐进的讲一下渲染器的基本工作原理,也就是runtime-dom那部分。简单说渲染器就是将 虚拟 DOM 渲染成特定平台下真实 DOM 的工具(本质是一个函数,通常叫 render)。渲染器的工作流程分为两个阶段:mount 和 compareTwoVdom,第一次渲染,由于没有旧的 VNode,直接将新的 VNode 创建成真实的 DOM挂载到指定的容器内,这个过程叫做 mount; 下一次再渲染的时候会生成新的 VNode,则会使用新的 VNode 与上一次生成的旧 VNode 进行对比,以最少的性能开销完成对真实 DOM 的更新,这个过程就叫 “打补丁”,也就是diff的部分。
全部分类
前端基础
19
JavaScript
12
框架
9
Vue3
2
《渲染器原理》
10
进阶
13
数据结构和算法
2
TypeScript
3
React
7
手写Mini React
2
手写 mini react
2
手写mini-react
1
工程化
13
vite
3
rollup
3
webpack
4
学习笔记
3
基础知识
1
网络
3
其他
2
架构设计
1
ES6
1
NodeJS
2
Vue
1
CSS
16
性能优化
1
《Git》学习笔记
14
Nodejs
2
前端
3
页面
16
收藏夹
3
JavaScript文章
5
技术
13
技术文档
5
Vue文章
2
HTML
1
《ES6 教程》笔记
34
《JavaScript教程》笔记
7
HTML和浏览器
1
《TypeScript 从零实现 axios》
50
ts-axios 项目初始化
3
ts-axios 基础功能实现
6
ts-axios 异常情况处理
2
ts-axios 接口扩展
3
ts-axios 拦截器实现
1
ts-axios 配置化实现
3
ts-axios 取消功能实现
1
ts-axios 更多功能实现
8
ts-axios 单元测试
10
ts-axios 部署与发布
2
TypeScript 常用语法
8
初识 TypeScript
3
博客搭建
3
GitHub技巧
4
