最新 最热

网页卡顿怎么定位性能瓶颈:从长任务到重排的 3 步

定位网页性能瓶颈按固定三步走:先用计时接口把卡顿量化成数字并找出长任务,再判断耗时来自脚本计算还是布局重排,最后按类别选择拆分任务或读写分离并复测。本文给出可复制的计时代码、反面示例与修复写法,附三类常见失败分支。

2026-10-23
602

Vue3 表格无限滚动该不该用库:先看这 3 个判断点

表格无限滚动其实是三种需求:匀速自动轮播、触底自动加载下一页、大数据量虚拟渲染。本文按两个问题分流,给出定时器自动滚动与交叉观察器触底加载的最小实现,说明虚拟列表真正适用的门槛和它的四项代价,并附重复请求、白屏等失败分支。

2026-10-23
417

Vue 深层组件的事件怎么传:3 种做法的区别与取舍

Vue 深层组件的事件跨层上报有三种做法:逐层 emit、上层 provide 注入函数让深层 inject 调用、以及把数据放进共享响应式容器。选择的关键是先判断这个事件是通知还是共享数据。本文用三层嵌套结构给出三种写法的代码、适用范围与代价,并附静默失效等失败分支。

2026-10-23
417

React 严格模式要不要开:先看这 3 个重复执行的坑

React 严格模式建议在开发环境常开:它只在开发构建生效,用重复执行暴露副作用缺少清理函数和渲染过程不纯两类问题。本文用三段最小代码讲清重复挂载的真实原因、数据请求发两次的竞态处理,以及生产环境不会重复的判断依据。

2026-10-23
861

图片加载回调里拿到的地址不对:3 个原因逐个排查

在图片加载回调里读到的地址和写进去的不一致,通常是三个原因:相对路径被解析成绝对地址、缓存命中导致回调漏触发、跨域图片污染画布后导出被拒绝。本文用三段最小代码复现每种情况,给出取值对比、正确绑定顺序与跨域声明写法,并附验证清单。

2026-10-23
464

Vue3 动态挂载组件怎么继承上下文:appContext 的两种传法

用 createVNode 加 render 手动挂载的组件默认拿不到全局组件与 provide,因为 vnode 上没有应用上下文。本文用一个函数式 Toast 复现问题,讲清手动赋值 appContext 与 app.runWithContext 两种传法的版本边界,给出卸载清理的正确顺序,并说明 Teleport 为何更值得优先选用。

2026-10-22
313

React 的 prop 是响应式值吗:直接修改 prop 会发生什么

prop 不是响应式状态,而是父组件一次渲染里传下来的只读参数,直接赋值既不报错也不生效。本文用一个计数器例子讲清单向数据流的三条推论,给出状态提升、useState 接初始值、受控组件加回调三种可行写法,并说明 memo 浅比较与对象字段修改造成的假象。

2026-10-22
304

ECharts dataZoom 不生效怎么排查:这 3 处配置最容易写错

dataZoom 配了却拖不动,多半是三处配置问题:没有用 xAxisIndex 绑到目标轴、数值轴误用百分比 start/end、filterMode 被设成 none 导致窗口外数据不过滤。本文给出一个 365 天折线图的最小配置,逐处给出错误与正确写法对照,并说明多组件联动、容器初始尺寸与新增数据导致区间漂移的处理办法。

2026-10-22
557

Vue 项目在初始化之前跳转外部页面:先看清这 3 个坑再动手

想在 Vue 应用初始化之前跳到外部站点,判断必须放在 createApp 之前或 index.html 的内联脚本里,路由守卫已经太晚。本文对比三个跳转时机、讲清 replace 与 href 的历史记录差异,并给出避免后退死循环的写法与验证清单。

2026-10-21
405

JSON 里的 key 叫 this 怎么取值:从保留字讲到方括号写法

接口返回的对象里有一个名为 this 的字段,点写法与解构的表现并不一样。本文用最小示例跑通四种取值写法,讲清保留字作属性名与作变量名的规则差异,给出 TypeScript 与可选链场景的写法和一份验证清单。

2026-10-21
295