参考答案:
高阶组件(Higher-Order Component, HOC)是 React 中的一种设计模式,用于增强或修改组件的行为。它是一个接受组件作为参数并返回一个新组件的函数。高阶组件本质上是一个函数,它用于复用组件逻辑和功能,避免在多个组件中重复代码。
函数式组件增强:
逻辑复用:
组件装饰:
以下是一个简单的高阶组件的示例:
1import React from 'react'; 2 3// 高阶组件的定义 4const withUserData = (WrappedComponent) => { 5 return class extends React.Component { 6 constructor(props) { 7 super(props); 8 this.state = { 9 user: null, 10 }; 11 } 12 13 componentDidMount() { 14 // 模拟数据获取 15 setTimeout(() => { 16 this.setState({ user: { name: 'John Doe', age: 30 } }); 17 }, 1000); 18 } 19 20 render() { 21 // 将状态和 props 传递给原始组件 22 return <WrappedComponent user={this.state.user} {...this.props} />; 23 } 24 }; 25}; 26 27// 使用高阶组件 28const UserProfile = ({ user }) => { 29 if (!user) { 30 return <div>Loading...</div>; 31 } 32 33 return ( 34 <div> 35 <h1>{user.name}</h1> 36 <p>Age: {user.age}</p> 37 </div> 38 ); 39}; 40 41export default withUserData(UserProfile);
权限控制:
数据获取:
行为增强:
最近更新时间:2024-08-10