react compiler 工作机制梳理
react compiler是react官方优化工具,用于在构建环节自动性能优化。对于具体工作原理,结合文档、playground做了总结。只看表面(文档介绍)得到的理解跟实际情况还是有一些出入的。
react compiler
- 组件或者 hook 中,引入的非 use 开头的函数获取值(非 hook),会直接 memo 到只使用一次;hook的话会直接调用,不进行缓存,导致每次都会刷新

- 自定义 hook 需要被RC处理的条件
- use 开头
- 使用 其他 hook

- 依赖了外部方法的部分最好手动处理,RC 目前对外部方法的处理情况比较混乱
- 直接调用,不对返回值进行处理,并且使用到值的时候,会缓存到只调用一次
- 处理后使用到值,不缓存
- 内层函数处理,外层不处理,缓存外层顺便把内层也缓存了
- 返回值根据 state 等缓存

- 组件中更困惑,同样的从外部获取值的函数,放在 jsx 外面缓存了;放在 jsx 中没缓存
- 总结:对于外部获取值且需要缓存的情况,要自己手动处理
留下你的想法
评论区加载中