自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 mini-vite(学习笔记)

前端工程关键模块化需求业界的模块标准非常多,包括 ESM、CommonJS、AMD 和 CMD 等等。前端工程一方面需要落实这些模块规范,保证模块正常加载。另一方面需要兼容不同的模块规范,以适应不同的执行环境。兼容浏览器、编译高级语法由于浏览器的实现规范所限,只要高级语言/语法(TypeScript、 JSX 等)想要在浏览器中正常运行,就必须被转化为浏览器可以理解的形式。这都需要工具链层面的支持,而且这个需求会一直存在。线上代码质量生产环境中,我们不仅要考虑代码的安全性、兼容性问题,保证线上代

2024-01-05 11:14:43 894 1

原创 React:类组件第一次渲染的底层逻辑

创建类组件。

2023-07-10 23:24:03 209 1

原创 事件及事件委托

事件委托: 只需要给容器做一个事件绑定(点击内部的任何元素,根据事件的冒泡传播机制,都会让容器事件也触发,我们在这里,根据事件源,做不同的事情就可以了)即便我们没有给body的点击事件绑定方法,当我们点击body的时候,其点击行为也会被触发,只不过啥事都不做而已!第三步:按照捕获阶段分析出来的路径,从里到外,把每一个元素的点击行为也触发!第二步:把事件源(点击的这个元素)的点击行为触发(目标阶段)例如:当我们触发 inner 的点击i行为的时候。事件委托: 利用事件的传播机制,实现的一套事件绑定处理方案。

2023-06-27 18:20:52 119

原创 React中的合成事件

Synthetic Event:合成事件是围绕浏览器原生事件,充当跨浏览器包装器的对象;它们将不同浏览器的行为合并为一个API,这样做是为了确保事件再不同浏览器中显示一致的属性!

2023-06-27 13:29:16 410

原创 Vue2中的双端diff算法缺陷

对于这样的diff操作,首先对于e节点进行双端比对,结果是匹配不到,新建e节点到头部;然后指针后移到b,继续进行双端比对,比对不到,然后拿着b节点去找,找到有相同的b节点,然后将b节点移动到前面;但是,对于旧列表 bcd 节点,新列表中也是 bcd 节点,我们其实完全不用去移动 bcd 节点的,我们只需要将a节点移动到后面来就可以了~所以再vue2中的diff算法,它会去找这个节点,如果可以复用,那么就会产生移动。,非动态的节点就不比较了,vue3在模板编译的时候会标记,哪些是动态节点,只比较动态节点!

2023-06-21 16:15:52 177

原创 手写vue2diff算法及Vue3中优化

虚拟 DOM 在vue中起到了优化性能,提供跨平台兼容性及简化开发流程的作用对节点进行标识(相同),用于优化节点更新。key在同一层级的兄弟节点中必须是唯一的。Vue 2的diff算法通过递归、双指针和优化策略来实现的

2023-06-13 10:19:36 169 1

原创 React: setState进阶

React16中:如果在合成事件(jsx元素中基于onXxx绑定的事件)、周期函数中,setState的操作是异步的!但是如果setState出现在其他异步操作中(例如:定时器、手动获取DOM元素做的事件绑定等),它将变为同步的操作(立即更新状态和让视图渲染)!- 当所有的代码操作结束,会“刷新队列” (通知更新队列中的任务执行):把所有放入的setState 合并在一起,执行一次视图更新 (批处理操作)在React18中,setState操作都是异步的,不论是在哪执行,例如:合成事件、周期函数、定时器…

2023-06-06 15:56:38 43

原创 tsx在vue3中的使用

摒弃 this ,对于ts支持最好,借助 babel-plugin-jsx。

2023-06-04 17:45:28 772

原创 Vue3组件化开发习惯

/ 不推荐// 推荐foo: {})</script>自定义事件的名称会被自动做转换,我们通常使用驼峰做事件名,但监听时,需要转换为肉串方式。script setup 中定义</script>

2023-06-01 11:47:14 132 1

转载 TCP/IP 网络模型

TCP/IP 网络通常由上到下分成 4 层,分别是 应用层,传输层,网络层和网络接口层。每一层的封装格式为:网络接口层的传输单位是帧,IP 层的传输单位是包,TCP 层的传输单位是段,HTTP 的传输单位则是消息或报文。但这些名词可以统称为数据包。

2023-05-31 17:12:09 47 1

原创 React中如何获取DOM元素

基于修改数据/状态,让视图更新,来达到需要的效果 (推荐):基于ref获取DOM元素,我们操作DOM元素,来实现需求和效果 (偶尔)基于ref获取DOM元素的语法1. 给需要获取的元素设置ref=‘xxx’,后期基于this.refs.xxx去获取相应的DOM元素(不推荐使用)获取: this.refs.titleBox2. 把ref属性值设置为一个函数3.基于 React.createRef() 方法创建一个ref对象 -> this.xxx = {current: null}

2023-05-31 12:23:17 990 1

原创 ES6中class语法和继承

ES6中的继承语法,以及React中类组件的继承

2023-05-16 21:33:53 54

原创 JSX底层渲染机制

JSX底层渲染机制——>创建virtual & 真实DOM

2023-05-13 15:47:01 133 1

原创 JSX语法基础

JSX语法细节及其基础应用

2023-05-10 23:37:01 104 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除