【发布时间】:2019-05-20 19:52:13
【问题描述】:
我的目标是在所有带有链接到外部域的href 的锚元素上添加一个点击处理程序。
这是我的组件:
import React from 'react';
import LinkWrapper from './LinkWrapper'
function ComponentWithLinks() {
return (
<div>
<div>
<ul>
<li>
<a href="/">internal link</a>
</li>
<li>
<a href="http://example.com/external">external link</a>
</li>
</ul>
</div>
<div>
<p>
<a href="http://google.com">another external link</a>
</p>
</div>
</div>
);
}
const wrapped = LinkWrapper(ComponentWithLinks)
export default wrapped;
这是我的包装:
import React from 'react';
function LinkWrapper(WrappedComponent) {
return class extends React.Component {
render() {
return <WrappedComponent {...this.props} />;
}
}
}
export default LinkWrapper;
孩子嵌套任意深。
我如何捕获每一个,以便我可以将点击处理程序附加到它?
【问题讨论】:
标签: javascript reactjs higher-order-components