当前位置:首页 > React

react如何复用

2026-02-11 13:39:00React

React 组件复用方法

高阶组件(HOC)
通过函数包裹组件,注入额外属性或逻辑。例如实现鉴权复用:

function withAuth(WrappedComponent) {
  return function(props) {
    const isAuthenticated = checkAuth();
    return isAuthenticated 
      ? <WrappedComponent {...props} />
      : <Redirect to="/login" />;
  };
}

自定义 Hook
提取通用逻辑到 Hook 中,如数据获取或事件监听:

function useFetch(url) {
  const [data, setData] = useState(null);
  useEffect(() => {
    fetch(url).then(res => setData(res.json()));
  }, [url]);
  return data;
}
// 使用时:const data = useFetch('/api/data');

Render Props
通过组件属性传递渲染函数,共享组件状态:

<MouseTracker>
  {({ x, y }) => <div>当前位置:{x}, {y}</div>}
</MouseTracker>

复合组件模式
通过 React.ChildrenContext 组合关联组件,如表单与输入项:

<Form>
  <Form.Input name="email" />
  <Form.Submit>提交</Form.Submit>
</Form>

UI 组件库
将通用组件(按钮、弹窗等)抽离为独立模块,通过 props 控制变体:

react如何复用

<Button variant="primary" size="large">确认</Button>

代码复用优化建议

  • 使用 TypeScriptPropTypes 规范组件接口
  • 为高阶组件添加 displayName 便于调试
  • 通过 useMemo/useCallback 避免不必要的重渲染
  • 提取工具函数处理日期格式化等纯逻辑

标签: 复用react
分享给朋友:

相关文章

react如何开发组件

react如何开发组件

React 组件开发基础 React 组件分为函数组件和类组件两种形式。函数组件是现代 React 开发的主流方式,结合 Hooks 可以实现完整功能。 函数组件示例: function Gree…

react如何调试

react如何调试

调试 React 应用的方法 使用 React Developer Tools React Developer Tools 是 Chrome 和 Firefox 的浏览器扩展,可以检查组件树、状态和…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…

如何启动react

如何启动react

安装Node.js 确保系统已安装Node.js(建议使用LTS版本),可通过官网下载并安装。安装完成后,在终端运行以下命令验证版本: node -v npm -v 创建React项目 使用官方工具…

如何恢复react

如何恢复react

恢复 React 项目的方法 检查并修复依赖项 运行 npm install 或 yarn install 重新安装所有依赖项。如果依赖项损坏或缺失,这将恢复项目所需的库和工具。 恢复删除的文件 如…

如何监控react性能

如何监控react性能

使用 React Profiler API React 16.5 及以上版本内置了 Profiler API,可直接测量组件渲染时间。通过 <React.Profiler> 包裹目标组件,…