Skip to content

技术英语 10 分钟 - 2026-06-16

今日目标

读懂 memoized componentre-renderprops have not changedReact 性能文档里的表达。

来源类型:React frontend framework documentation

原文

来源主题:React memo and re-rendering

React normally re-renders a component whenever its parent re-renders.With memo, you can create a component that React will not re-render when its parent re-renders so long as its new props are the same as the old props.Memoization is a performance optimization, not a guarantee.

参考:React documentationmemo

人话意思

第一句说:在正常情况下,只要父组件重新渲染,子组件也可能跟着重新渲染。

第二句说:用 memo 包一下组件后,如果新旧 props 没变,React 通常可以跳过这次子组件渲染。

第三句很关键:memoization 是性能优化,不是绝对保证。别把它理解成“用了就永远不会重新渲染”,笨蛋,这种坑 React 文档都提前替你写脸上了。

关键词

  • re-render: 重新渲染,组件再次执行并生成界面结果
  • parent re-renders: 父组件重新渲染
  • memoized component: 被记忆化处理过的组件
  • props have not changed: props 没有变化
  • the same as: 和……一样
  • performance optimization: 性能优化
  • not a guarantee: 不是保证,不是绝对承诺

句子拆解

React normally re-renders a component whenever its parent re-renders.

主语是:

React

动作是:

re-renders a component

后半句:

whenever its parent re-renders

这里的 whenever 可以先按“每当……”理解。

整句就是:每当父组件重新渲染时,React 通常也会重新渲染这个组件。

With memo, you can create a component that React will not re-render when its parent re-renders so long as its new props are the same as the old props.

开头的 With memo 表示“借助 memo / 使用 memo”。

核心句子是:

you can create a component

后面的 that React will not re-render 是在修饰这个组件:React 不会重新渲染它。

条件是:

so long as its new props are the same as the old propsso long as 在这里等于 as long as,意思是“只要……”。Memoization is a performance optimization, not a guarantee.

主语是 Memoization

判断句结构是:

is a performance optimization

后面的 not a guarantee 是补充边界:它只是优化手段,不是行为承诺。

今天记住一句

Memoization is a performance optimization, not a guarantee.

以后看到技术文档里的 not a guarantee,先按“别把这个当绝对承诺”理解。

30 秒小练习

把下面这句翻成中文:

React will not re-render the component so long as its props are the same.

提示:so long as 是“只要”,the same 是“一样 / 没变”。

完成记录

  • [ ] 看完原文
  • [ ] 看完拆解
  • [ ] 完成 30 秒小练习