当前位置:首页 > React

react委派实现

2026-01-26 14:59:28React

React 委派实现

在 React 中,委派(Delegation)通常指将某些功能或事件处理逻辑委托给父组件或其他组件处理。这种模式有助于减少代码重复,提高组件复用性。以下是几种常见的委派实现方式:

事件委派

通过将事件处理逻辑提升到父组件,子组件仅负责触发事件:

// 父组件
function Parent() {
  const handleClick = (childId) => {
    console.log(`Child ${childId} clicked`);
  };

  return (
    <div>
      <Child id={1} onClick={handleClick} />
      <Child id={2} onClick={handleClick} />
    </div>
  );
}

// 子组件
function Child({ id, onClick }) {
  return <button onClick={() => onClick(id)}>Click Me</button>;
}

渲染委派

通过 childrenrender props 将渲染逻辑委派给父组件:

// 容器组件
function List({ data, renderItem }) {
  return <ul>{data.map((item) => renderItem(item))}</ul>;
}

// 使用方式
<List
  data={[1, 2, 3]}
  renderItem={(item) => <li key={item}>{item}</li>}
/>

状态管理委派

通过 Context API 或状态管理库(如 Redux)将状态管理委派给全局存储:

const ThemeContext = createContext('light');

// 提供者组件
function App() {
  const [theme, setTheme] = useState('light');
  return (
    <ThemeContext.Provider value={{ theme, setTheme }}>
      <Toolbar />
    </ThemeContext.Provider>
  );
}

// 消费者组件
function Toolbar() {
  const { theme, setTheme } = useContext(ThemeContext);
  return (
    <button onClick={() => setTheme('dark')}>
      Current Theme: {theme}
    </button>
  );
}

高阶组件(HOC)委派

通过高阶组件将通用逻辑委派给包装组件:

react委派实现

function withLogging(WrappedComponent) {
  return function(props) {
    useEffect(() => {
      console.log('Component mounted');
      return () => console.log('Component unmounted');
    }, []);
    return <WrappedComponent {...props} />;
  };
}

const EnhancedComponent = withLogging(MyComponent);

这些模式可以根据具体场景组合使用,以实现更灵活的组件架构。

标签: react
分享给朋友:

相关文章

如何改造react

如何改造react

改造 React 项目的关键方法 分析当前项目结构 通过评估现有组件、状态管理和依赖项,明确需要改进的部分。使用工具如 webpack-bundle-analyzer 识别性能瓶颈。 升级 Reac…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一…

如何创建react

如何创建react

创建React项目的步骤 使用Create React App工具快速搭建React项目。确保已安装Node.js(版本需≥14.0.0)和npm(版本需≥5.6)。 打开终端或命令行工具,运行以下…

react如何遍历

react如何遍历

遍历数组或对象的方法 在React中,遍历数组或对象通常用于渲染列表或动态生成内容。以下是几种常见的遍历方法: 使用map遍历数组map是遍历数组并返回新数组的高阶函数,适合渲染列表。 con…

如何用react

如何用react

使用React的基本步骤 安装Node.js和npm 确保系统已安装Node.js和npm。Node.js自带npm,可从官网下载安装包。安装完成后,通过命令行验证版本: node -v npm -…

react如何安装

react如何安装

安装React的步骤 确保已安装Node.js(建议版本12或更高),可通过以下命令检查版本: node -v npm -v 使用Create React App快速搭建项目(推荐): npx c…