240 发简信
IP属地:江西
  • 120
    IntersectionObserver——元素可见性监听

    核心结论:IntersectionObserver 让浏览器在“目标元素和指定容器(默认视口)发生可见性变化”时主动通知你,避免用 scroll 事件持续计算位置,从而省性能...

  • 120
    浅谈组件懒加载

    一句话结论:组件懒加载不是“少写代码”,而是“把代码的搬运时间推迟到真正需要它的时候”,让首屏只搬当前要用的东西。 1. 从一个生活问题开始 想象你搬进一间新公寓。 房东把所...

  • React 的 useRef() 与 Vue 3 的 ref()

    一句话先说结论:React 的 useRef() 是「React 看不见的盒子」,改了不渲染;Vue 的 ref() 是「Vue 全程盯着的最小响应单元」,改了就渲染。两者名...

  • React 与 Vue 组件的前世今生

    组件是两大框架的基本单位,但描述组件的方式差异很大。React 内部有函数组件与 Class 组件之分,Vue 则有 Options API 与 Composition AP...

  • new Function() 的用法与原理

    先从一个会让人卡住的问题开始。 你平时写函数,无非这么三种: 这三种有个共同点:函数长什么样,写代码的那一刻就已经固定死了。 你写的时候就知道参数是什么、函数体是什么。 但有...

  • 120
    如何用 while 循环实现深度优先遍历?

    递归不是深度优先遍历(DFS)唯一的写法。把「函数调用栈」换成「一个数组」,就能用 while 循环走完同一棵树。 一、先搞清楚:DFS 到底在做什么 「深度优先」这四个字,...

  • 120
    React 源码剖析

    先把结论放前面:React 的源码核心,就是把一个描述"界面长什么样"的普通对象,变成屏幕上真实的 DOM。Fiber、Diff、Hooks、调度、优先级,都是为了让这件事在...

  • qiankun 微前端框架详解

    一个前端项目长到几千个文件、几个团队同时改、一个页面卡住全公司跟着加班时,你会想:能不能拆开?qiankun 就是干这个的。 这篇文章只回答三个问题:它是什么、为什么要用、怎...

  • React 内置 Hook 与 Vue3 对照

    一、Hook 到底是个什么东西 组件函数每渲染一次,就是一次全新的函数调用。函数调用结束后,里面的局部变量全部销毁。 那你写的 count 呢?下次渲染它怎么还在? Reac...

  • Vue.js 之 v-if 与 v-for 之争

    同一个标签上同时写 v-if 和 v-for,Vue 2 是循环先跑,Vue 3 是判断先跑。顺序一反,旧代码要么变慢、要么直接报错。 Vue 2Vue 3谁优先v-for ...

  • 一文带你简单了解 Zod

    Zod 是一个 TypeScript 优先的 schema 声明与数据验证库。 你在代码里写一份「数据必须长什么样」的描述(schema),Zod 负责在运行时拿真实数据去比...

  • WebSocket 快速入门:从"寄信"到"打电话"

    先问一个问题:你有没有想过,为什么网页聊天、股票行情、在线协作这些功能,以前做起来那么费劲? 答案藏在 HTTP 的规矩里。 HTTP 是一条单行道 HTTP 的工作方式特别...

  • 120
    Vue3 源码一览通

    你每天都在写 Vue 组件,但你有没有想过:写完的 .vue 文件,浏览器是怎么把它变成页面上的东西的? 这篇文章不堆术语,从你已经会的东西出发,一层层拆开 Vue3 的源码...

  • 对比 React 与 Vue3 生命周期的区别

    一个问题:组件从生到死,中间发生了什么? 你住酒店,流程是这样的: 入住:前台核验身份 → 给你房卡 → 你进房间放行李 住着:叫客房服务、调空调温度、每天打扫换毛巾 退房:...

  • React 有哪些内置组件?

    很多人背过一份清单:Fragment、Suspense、memo、forwardRef……名字全念得出。但名字和懂是两码事。 你能说出每个组件"解决的是什么真实麻烦"吗?还是...

  • 120
    Tree Shaking:只带走该带的东西

    一、它到底是什么 假设你有一个巨大的工具箱,里面塞了一千件工具。但你今天要干的活,只需要一把锤子和两颗钉子。出门的时候,你是把整个箱子扛走,还是把用不上的工具留在家? 代码世...

  • 120
    深入浅出前端虚拟滚动

    先感受一下问题 假设你面前有一本十万页的电话簿,你要找一个人。 你不会从第一页开始一页页翻——你会用手指捏住书脊,快速拨动页边,眼睛盯着页眉的字母索引,直到接近目标字母才停下...

  • Redux、Vuex、Pinia 之间的区别

    这三个库不是凭空冒出来的。它们要解决的,是同一个根本问题: 当很多组件都要读写同一份"全局状态"时,怎么既不让代码乱成一团,又保证状态的变化可追踪、可预测? 想象一间开放式办...

  • 120
    Vite 凭什么完胜 Webpack?

    Vite 是一个前端构建工具 + 开发服务器。它把"开发"和"上线"这两件事拆开用两套最合适的引擎: 开发时:不打包。直接把你的源码当原生 ES 模块喂给浏览器,浏览器自己按...

个人介绍
11年前端开发工程师
公主号:前端微站
小程序:目标管理助手
Hamibot脚本:AI视频剪辑、视频发布神器