FRONTEND Q&A
前端问答
聚焦 Vue、React、CSS 布局、性能优化与构建工具的真实前端疑难问答。
沐
沐辰前端工程师 · 1 小时前提问
Vue
Vue 3 用 reactive 定义对象,解构赋值后响应式丢了,怎么回事?
reactive 是 Proxy 代理整个对象,解构后拿到的是原始值,丢失响应式。用 toRefs / toRef 包裹再解构,或直接用 ref 定义。基本类型本来就建议用 ref。
92 赞
1.4k 浏览
5 回答
树
阿树前端工程师 · 3 小时前提问
React
React 在 setInterval 里用 setState 拿到的总是旧值,怎么解决?
这是闭包陷阱:setInterval 回调闭包捕获了首次渲染的 state。用函数式更新 setState(prev => prev + 1) 拿最新值;或用 useRef 存最新值;或把逻辑挪到 useEffect 里依赖 state 重新注册定时器。
76 赞
1.1k 浏览
4 回答
像
像素眼前端工程师 · 昨天提问
CSS
做后台管理布局,CSS Grid 和 Flexbox 到底该用哪个?
一维方向排列(一行或一列)用 Flex;二维网格(行 + 列同时控制)用 Grid。后台整体框架(侧边栏 + 顶栏 + 内容区)适合 Grid,工具栏、列表项内横向排列用 Flex。两者混用最常见。
64 赞
980 浏览
6 回答
性
性能优化师前端工程师 · 2 天前提问
性能
Lighthouse 测首屏 LCP 4.2s,怎么优化到 2.5s 以内?
先定位 LCP 元素(通常是主图或大标题)。图片:用 WebP / AVIF + CDN 自适应尺寸 + loading=eager + fetchpriority=high;移除首屏阻塞 JS / CSS,关键 CSS 内联;字体用 font-display: swap;接口走 SSR / 预渲染。再压一压第三方脚本。
103 赞
1.8k 浏览
7 回答
构
工程化菜鸟前端工程师 · 3 天前提问
Vite
新项目选 Vite 还是 Webpack?Vite 生产构建稳吗?
新项目无历史包袱首选 Vite:开发用原生 ESM 起飞快,生产用 Rollup 打包体积更小。Webpack 胜在生态成熟、微前端 / 复杂自定义场景兜底。Vite 生产已稳定,注意 SSR、Web Worker、部分老插件兼容即可。
58 赞
1.0k 浏览
8 回答
类
类型狂魔前端工程师 · 4 天前提问
TypeScript
TypeScript 一个对象字面量直接传参不报错,赋值给变量再传就报类型不兼容?
这是"新鲜对象"检测:对象字面量直接传参时会做多余属性校验,赋值给中间变量后"新鲜性"丢失,校验放宽。给变量显式标注类型,或用类型断言 / 索引签名即可统一行为。
47 赞
760 浏览
3 回答