提出了问题2024-11-25
提出了问题2024-11-22
提出了问题2024-08-15
提出了问题2023-08-29
提出了问题2023-07-31
发布了文章2023-07-27
{代码...} {代码...}
提出了问题2023-06-28
发布了文章2023-05-22
useEffect链表通过MountEffect方法把callback/依赖项加入到链表中视图更新完毕,基于UpdateEffect方法通过effect链表中的callback按照要求执行
发布了文章2023-05-22
react15之前面临的问题1.如果界面节点多,层次深,递归渲染比较耗时2.js是单线程,而且UI线程和Js线程互斥什么是Fiber1.Fiber其实是指的是一种数据结构,它可以用一个纯JS对象来表示 {代码...} 2.Fiber是一个执行单元,每次执行完一个执行单元,React就会检查现在还...
发布了文章2023-05-15
for..of循环首先会向被访问对象请求一个迭代器对象,然后通过调用迭代器对象的next()方法来遍历所有返回值。数组有内置的@@iterator,因此for..of可以直接应用在数组上。我们使用内置的@@iterator来手动遍历数组,看看它是怎么工作的:
发布了文章2023-05-15
1.Object.keys(..)会返回一个数组,包含所有可枚举属性( enumerable: true)2.Object.getOwnPropertyNames(...)会返回一个数组,包含所有属性,无论它们是否可枚举注:Object.keys(..)和Object.getOwnPropertyNames(..)都只会查找对象直接包含的属性。3.in操作符会...
发布了文章2023-04-27
async/await是ES2017带来的异步编程语法糖,实现了让异步代码看起来像同步代码的效果。async/await 的本质是基于Promise,它并不是一种新的异步处理方式,而是Promise 的一种新的语法封装升级。下面是 async/await 的实现原理:async 函数本质上是一个 Generator 函...
发布了文章2023-04-24
302状态码表示临时重定向,当服务器接收到客户端的请求后,会将请求的URL临时重定向到另一个URL,也就是重定向的目标URL,有时候也称之为“Found”状态码。临时重定向意味着请求的URI在未来可能会再次更改,因此搜索引擎对重定向次数和频率都有限制。
发布了文章2023-04-24
加载方式:CommonJS使用同步加载方式,即遇到require就执行代码,并等待结果返回后再继续执行;而ESM使用异步加载方式,它是通过Promise的方式异步加载模块,遇到import不会阻止程序继续执行。
发布了文章2023-04-23
优点:1.支持链式调用,可以解决回调地狱问题 {代码...}
发布了文章2023-04-23
快速响应:异步可中断 + 增量更新(不是全量更新)性能瓶颈JS任务执行时间过长。浏览器刷新频率为60Hz大概16.6毫秒渲染一次,而JS线程和渲染线程是互斥的,所以如果JS线程执行任务时间超过16.6ms的话,就会导致掉帧,导致卡顿,解决方案就是React利用空闲的时间进行更...
发布了文章2023-04-22
forEach和map都是用于迭代集合或数组的方法,但是forEach和map的主要区别在于它们的返回值和使用方式。不同点:forEach方法是没有返回值的,它只是对集合或数组进行迭代和操作。map方法会返回一个新的数组,该数组包含通过对原始数组中的每个元素应用一个函数处理后...
发布了文章2023-04-22
倒序排列数组的方法如下:使用reverse()方法: {代码...} 使用for循环和unshift()方法: {代码...} 使用map()方法: {代码...} 使用reduce()方法: {代码...}
发布了文章2023-04-22
源码编译之后type都是functionclass类组件在component.prototype.isReactComponent = {}class类里面继承React.Component方法通过isReactComponent判断是不是类组件
发布了文章2023-04-22
不是,在React v16.8版本之前,构造函数被用来初始化state和绑定函数。但是在React v16.8版本之后,引入了Hooks API,可以使用useState和useEffect等Hooks来管理state和生命周期,完全可以替代构造函数的作用。因此对于函数式组件,不需要构造函数。但是对于类组件,...