react 组件接收相同 props 的渲染行为
问题:
在 react 中,一个组件接收相同的 props 后,它是否会跳过渲染?
实际测试:
测试结果表明,组件并未跳过渲染。
回答:
为了防止组件接收相同的 props 后渲染,需要使用 react.memo 高阶组件。
react 组件本身不会比较 props 是否相同。这是 react.memo 的职责。因此,如果要跳过渲染,需要将子组件用 react.memo 包裹起来。
例如:
const MemoShippingForm = React.memo(ShippingForm);
这样,当 memoshippingform 组件接收相同的 props 时,它将跳过渲染。