You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React中使用非类的函数式方式实现纯组件

React函数式组件实现纯组件的方法

React 中函数式组件的纯组件能力由高阶组件 React.memo 提供,它的效果和类组件的 React.PureComponent 一致:会对组件接收的 props 做浅比较,只要 props 没有发生变化,就会跳过当前组件的重渲染,实现性能优化。

你给出的代码修改为纯组件的写法如下:

import { memo } from 'react';

const MyComponent = () => { 
  return (<h1>I am functional component.</h1>)
}

// 用memo包裹组件后导出即可
export default memo(MyComponent);

补充注意事项:

  • React.memo 默认只做浅比较,如果你的组件接收引用类型的 props(对象、数组、函数等),浅比较无法准确识别内容变化,此时可以传入第二个参数自定义比较逻辑:
// 自定义比较函数:接收旧props和新props,返回true表示不需要重渲染,返回false表示需要重渲染
const arePropsEqual = (prevProps, nextProps) => {
  // 示例:只对比用户id是否变化
  return prevProps.user.id === nextProps.user.id;
}

export default memo(MyComponent, arePropsEqual);
  • 不要滥用 React.memo,如果组件本身重渲染成本很低,或者props变化非常频繁,额外的props比较逻辑反而会增加性能开销。

内容的提问来源于stack exchange,提问作者Badal Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:18:00