【发布时间】:2020-01-03 02:02:11
【问题描述】:
我正在构建一个 Web 组件库,其中包含一系列理想地继承/利用 BaseComponent 的组件。经过一番阅读,在 React 中不推荐继承,而是我可以使用 forwardRef?或者可能是高阶组件?唯一的一点,我对这个概念不是很熟悉,也找不到适合我的案例的好例子。希望有人能告诉我如何解决这个问题,最佳实践是什么?
我想到的 BaseComponent 技术之一是利用 IntersectionObserver 来触发动画。你可以想象,我不想把这个逻辑放在多个地方。对于有一个基本示例的厌倦,下面我只是在 BaseComponent 上有一个单击事件侦听器:
class Image extends React.Component {
render() {
return (
<div>
<div>
<img className={className} src={src} alt={alt} />
</div>
</div>
);
}
}
export default Image;
// export default withMagic(Image); ??
class BaseComponent extends React.Component {
withMagic() {
}
componentDidMount() {
{/* ref should be <img> DOM element */}
ref.addEventListener("click", this.handleClick);
}
}
export BaseComponent();
谢谢
【问题讨论】:
标签: reactjs components ref ad-hoc-distribution