在React.js中,组件复用可以通过以下几种方式实现:
<Button>组件,并在多个其他组件中嵌套使用它。function App() {
return (
<div>
<ComponentA>
<Button label="Click me" />
</ComponentA>
<ComponentB>
<Button label="Submit" />
</ComponentB>
</div>
);
}
function withLoadingIndicator(WrappedComponent) {
return function EnhancedComponent(props) {
const [isLoading, setIsLoading] = useState(false);
// 一些加载逻辑
return (
<div>
{isLoading && <p>Loading...</p>}
<WrappedComponent {...props} />
</div>
);
};
}
const MyComponentWithLoading = withLoadingIndicator(MyComponent);
class MouseTracker extends React.Component {
render() {
return (
<div>
{this.props.render({ mouseX: 100, mouseY: 200 })}
</div>
);
}
}
function App() {
return (
<MouseTracker
render={({ mouseX, mouseY }) => (
<h1>Mouse position: {mouseX}, {mouseY}</h1>
)}
/>
);
}
function useCustomHook() {
// 一些逻辑
const [data, setData] = useState(null);
return data;
}
function ComponentA() {
const data = useCustomHook();
// 使用数据渲染组件
}
function ComponentB() {
const data = useCustomHook();
// 使用数据渲染组件
}
通过以上方法,可以在React.js中实现组件的复用,提高代码的可维护性和可扩展性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。