React Compiler 上 stable 之后,我把项目里所有的 useMemo、useCallback、React.memo 全删了,编译器自动处理 memoization。代码瞬间清爽了一大截。
实测性能:大部分场景持平或略好,个别列表渲染场景还快了点。但有一个组件——大量 inline 对象传递的——编译后反而慢了,估计自动 memo 的粒度没手动精细。
现在保持开启,遇到热点再手动优化。
大家都开 compiler 了吗?有没有遇到过反优化的情况?
React Compiler 上 stable 之后,我把项目里所有的 useMemo、useCallback、React.memo 全删了,编译器自动处理 memoization。代码瞬间清爽了一大截。
实测性能:大部分场景持平或略好,个别列表渲染场景还快了点。但有一个组件——大量 inline 对象传递的——编译后反而慢了,估计自动 memo 的粒度没手动精细。
现在保持开启,遇到热点再手动优化。
大家都开 compiler 了吗?有没有遇到过反优化的情况?
暂时没有回复。
Related
讨论
社区讨论帖,欢迎分享你的经验和观点。
讨论
把一个 Pages Router 项目分批迁到 App Router,前后折腾了快半年。最大的感受是:缓存边界和 "use client" 这两件事,文档轻描淡写,实际占了 80% 的坑。 中间遇到过几次经典翻车: 客户端组件里直接 fetch ,被默认缓存导致数据不刷新。 pa
讨论
看了不少文章,还是没完全 get 到 RSC 的核心价值。表面说是 "组件在服务端跑",但 SSR 不也能在服务端跑组件吗? 我自己理解下来,主要差在两点:RSC 是 "按组件粒度" 决定跑在哪,并且它能直接访问数据源,不用再走一层 API。组件树里零 JS 下发到客户端这点确实
讨论
App Router 里用 useSearchParams 拿 query 参数,本地 dev 没事,prod 一打开就报 hydration mismatch,浏览器控制台一片红。 查了一圈说是它会让页面退化成客户端渲染,需要包一层 <Suspense 。包了之后报错没了,但首