
6.5 编程式导航
用 useNavigate() 在「事件处理、异步回调、Effect」里跳转——它支持 replace(替换历史)、state(传状态)与相对路径(.. / .);渲染时的重定向用

用 useNavigate() 在「事件处理、异步回调、Effect」里跳转——它支持 replace(替换历史)、state(传状态)与相对路径(.. / .);渲染时的重定向用

用「:param」在路径里声明动态段,用 useParams() 读取;参数变化时组件不会重新挂载(需要在 useEffect 里依赖参数,或给 element 加 key 强制重建)。

压缩、裁剪、加水印、抠图、拼接都在本地完成。不限张数、不限次数,图片不会传到服务器。

嵌套路由让你把「布局」抽取到父路由组件里(用

v6 有两种配置方式——声明式(

v6 的核心变化是「Routes 替代 Switch」「element={

动画流畅的本质是「让浏览器只在『合成(Composite)』阶段工作,而不是『布局(Layout)』或『绘制(Paint)』阶段」——即「只改 transform 与 opacity」,并用 will-change/合成层把动画从主线程搬到合成线程,代价是「留给显存与合成开销」(层太多会翻车)。

网络优化的三件事是「用对资源提示(preconnect/preload/prefetch,别滥用)+ 配好 HTTP 缓存(hash 资源一年 immutable、HTML 用 no-cache、stale-while-revalidate 兜住过期)+ 用 Service Worker 做分层缓存…

图片优化的核心是「格式选型(AVIF/WebP 降级链)+ srcset/sizes 选对尺寸 + LCP 图不懒加载 + 用尺寸占位防 CLS」,字体优化的核心是「WOFF2 + 子集化 + font-display 选值 + 用 size-adjust 把 fallback 的度量对齐以防 CL…

体积优化的顺序是「先量(parsed size,不是 gzip)、再砍(tree-shaking / 依赖替换 / 去重)、然后拆(代码分割)、最后压(terser + brotli)」,并用「体积预算 + CI 门禁」把结论固化下来,防止悄悄回涨。

前端内存泄漏的本质是「本该被回收的对象,仍然被某个『活着的引用』链到 GC 根」——排查方法不是「看内存涨没涨」,而是「操作并回退后 GC,看对象是否回落」,工具是「三快照对比 + Allocation timeline + queryObjects + Detached elements」。
最新评论
读过书不知道欧·亨利的人少。教科书上选文有
这小生活不错呀
不错,必须顶一下!
看着你还在坚持,很好
看来忙了也没时间更新博客了
NIce。学习了。。。。
网站不错!!!!
简洁实用,好文章!