【发布时间】:2018-11-07 17:24:25
【问题描述】:
我有这种卡片是从一组对象中渲染出来的。
父组件:
[{foo: 'bar', baz: [{ name: string, path: string: '/'}]
state = {isHovering: false}
handleMouseHover = () => {
const { isHovering } = this.state;
this.setState({ isHovering: !isHovering });
}
;
我将 handleMouseHover() 和 isHovering 作为道具传递给子组件。
结果是这样的:
子组件
<LinkContainer
onMouseEnter={handleMouseHover}
onMouseLeave={handleMouseHover}
className="linkContainer"
>
{isHovering && (
<FontAwesomeIcon
icon="copy"
className="copyIcon"
onClick={copyToClipboard}
/>
)}
结果是包含 3 个链接的 4 张卡片。每次我将鼠标悬停在链接上时,我都希望显示“复制到剪贴板”图标。但是,当我将鼠标悬停在任何项目上时,它会将isHovering 设置为true,从而使所有图标都可见。理想情况下,我只希望我悬停的链接的图标变得可见。谁能帮我找出更好的解决方案或改进我已经编写的代码。
非常感谢!
【问题讨论】:
标签: javascript css reactjs hover