React源码分析之diff核心算法
React的diff算法是在render的beginWork阶段中进行处理,beginWork是在向下深度遍历fiber树时会对途径的每个节点进行状态处理和进行diff对比,首先diff的入口是在reconcileChildFibers中
阅读量: 240标签: 源码
Vue源码剖析
什么是响应式数据:数据变了,视图能更新,反之视图更新,数据要不要更新,不归响应式数据管。Vue 在内部实现了一个最核心的defineReactive方法,借助了Object.defineProperty,核心就是劫持属性
阅读量: 615标签: 源码
大家都能看得懂的源码 - ahooks useSet 和 useMap
今天我们来聊聊 ahooks 中对 Map 和 Set 类型进行状态管理的 hook,顺便复习一下 Set 和 Map 这两种数据类型。先回顾以下 Map 的概念。Map 对象保存键值对,并且能够记住键的原始插入顺序。
阅读量: 592标签: 源码
Vue 源码中的工具函数
在 Vue 源码中,封装了很多工具函数,学习这些函数,一方面学习大佬们的实现方式,另一方面是温习基础知识,希望大家在日常工作中,简单的函数也可以自己封装,提高编码能力。
阅读量: 728标签: 源码
Vue3响应式源码分析 - ref + ReactiveEffect篇
在Vue3中,因为reactive创建的响应式对象是通过Proxy来实现的,所以传入数据不能为基础类型,所以 ref 对象是对reactive不支持的数据的一个补充。在 ref 和 reactive 中还有一个重要的工作就是收集、触发依赖
阅读量: 687标签: 源码
Vue3响应式源码分析 - reactive篇
最近一阶段在学习Vue3,Vue3中用 reactive、ref 等方法将数据转化为响应式数据,在获取时使用 track 往 effect 中收集依赖,在值改变时,使用 trigger 触发依赖,执行对应的监听函数,这次就先来看一下 reactive 的源码。
阅读量: 709标签: 源码
axios源码解析 - 请求方法的别名实现
axios中的创建请求方式很多,比如axios(url),axios.get(url),axios.post(url),axios.delete(url),方便快捷的api设计让axios火得一塌糊涂。
阅读量: 678标签: 源码
Promise源码实现
定义Promise的构造函数,因为创建Promise对象的时候会接收一个函数executor,并且函数会立即被调用,executor函数接收两个函数方法,resolve和reject。调用resolve和reject的时候会传入对应的值
阅读量: 806标签: 源码
精读《pipe operator for JavaScript》
Pipe 语法可以将函数调用按顺序打平。如下方函数,存在三层嵌套,但我们解读时需要由内而外阅读,因为调用顺序是由内而外的:
阅读量: 702标签: 源码
Node 源码 - http模块
http 模块位于 /lib/http.js,我们直接看该模块的核心方法 createServer,createServer 的作用是创建了一个 Server 类,该文件位于 /lib/_http_server.js
阅读量: 695标签: 源码
挖掘隐藏在源码中的Vue技巧!
子组件data选项函数是有参数的,而且是当前的实例对象;生命周期钩子是可以写成数组形式,按顺序执行;可以使用生命周期钩子的事件侦听器来注册生命周期函数
阅读量: 622标签: 源码
Vue 3 响应式源码中为什么使用 WeakMap 作为「缓存区」?
在读 Vue 3 响应式原理部分代码的过程中看到其在进行响应式处理的时候,为每个对象使用 WeakMap 创建了一个「缓存区」,代码如下:
阅读量: 765标签: 源码
聊聊React源码中的位运算技巧
这两年有不少朋友和我吐槽React源码,比如:调度器为什么用小顶堆这种数据结构,直接用数组不行?源码里各种单向链表、环状链表,直接用数组不行?
阅读量: 1.2k标签: 源码
slow-json-stringify源码解析
最近对slow-json-stringify的源码研究了一下,本文将对源码中函数的作用进行讲解。下文的源码是2.0.0版本的代码。
阅读量: 1.5k标签: 源码
浅析 vue-router 源码和动态路由权限分配
看完 vue-router 的源码,可到后面逐渐发现 vue-router 的源码并不是像很多总结的文章那么容易理解,阅读过你就会发现里面的很多地方都会有多层的函数调用关系,还有大量的 this 指向问题,而且会有很多辅助函数需要去理解
阅读量: 1.8k标签: 源码