当前位置:首页 > React

react如何重用组件

2026-01-23 18:28:52React

React 重用组件的常用方法

通过 Props 传递数据
将组件设计为接收动态数据,通过 props 传递不同内容。例如:

function Button({ text, onClick }) {
  return <button onClick={onClick}>{text}</button>;
}
// 重用示例
<Button text="提交" onClick={handleSubmit} />
<Button text="取消" onClick={handleCancel} />

使用 Children 插槽
通过 props.children 允许组件嵌套任意内容,增强灵活性:

react如何重用组件

function Card({ children }) {
  return <div className="card">{children}</div>;
}
// 重用示例
<Card><h1>标题</h1></Card>
<Card><p>正文内容</p></Card>

高阶组件(HOC)
通过函数包装组件,复用逻辑(如鉴权、数据获取):

function withAuth(WrappedComponent) {
  return (props) => {
    const isAuthenticated = checkAuth();
    return isAuthenticated ? <WrappedComponent {...props} /> : <LoginPage />;
  };
}
const AuthButton = withAuth(Button);

自定义 Hook
提取通用逻辑到 Hook 中,供多个组件调用:

react如何重用组件

function useCounter(initialValue) {
  const [count, setCount] = useState(initialValue);
  const increment = () => setCount(count + 1);
  return { count, increment };
}
// 组件中调用
const { count, increment } = useCounter(0);

组件组合(Composition)
通过拆分小组件再组合实现复用:

function Form() {
  return (
    <form>
      <Input label="用户名" />
      <Input label="密码" type="password" />
    </form>
  );
}

Context API
跨层级共享数据,避免逐层传递 Props:

const ThemeContext = createContext('light');
function App() {
  return (
    <ThemeContext.Provider value="dark">
      <Toolbar />
    </ThemeContext.Provider>
  );
}
// 子组件通过 useContext(ThemeContext) 获取值

注意事项

  • 避免过度抽象:仅在逻辑或 UI 确实可复用时拆分组件。
  • 命名规范:组件名使用 PascalCase,Hook 名以 use 开头。
  • 性能优化:对高频重用的组件使用 React.memo 避免不必要的渲染。

标签: 组件react
分享给朋友:

相关文章

vue实现组件拖放

vue实现组件拖放

Vue 实现组件拖放的方法 使用 HTML5 原生拖放 API HTML5 提供了原生的拖放 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 dr…

vue组件的实现

vue组件的实现

Vue 组件的实现方式 Vue 组件可以通过多种方式实现,主要包括单文件组件(SFC)、全局注册和局部注册。以下是常见的实现方法: 单文件组件(SFC) 单文件组件是 Vue 最推荐的组件化开发方式…

react native如何启动

react native如何启动

如何启动 React Native 项目 安装 Node.js 和 npm 确保已安装 Node.js(建议版本 16 或更高)和 npm(Node.js 自带)。可通过以下命令检查版本: node…

react如何迭代

react如何迭代

在 React 中迭代数组或对象 React 提供了多种方式来处理数组或对象的迭代,以下是常见的方法: 使用 map 方法迭代数组 map 是 JavaScript 数组的内置方法,常用于在 Rea…

如何启动react

如何启动react

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

react如何刷新

react如何刷新

刷新React组件的方法 使用状态更新触发重新渲染 通过更新组件的状态可以触发重新渲染。React会在状态变化时自动重新渲染组件。 const [count, setCount] = useStat…