У меня есть карты такого типа, которые отображаются из массива объектов.
Родительский компонент:
[{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}
/>
)}
В результате получено 4 карточки с 3 ссылками. Каждый раз при наведении курсора на ссылку я хочу, чтобы отображался значок копии в буфер обмена. Однако в тот момент, когда я наводю курсор мыши на любой элемент, он устанавливает isHovering
в true
, что делает все значки видимыми. В идеале я хочу, чтобы значок ссылки, над которой я наведен, стал видимым. Может кто-нибудь помочь мне найти лучшее решение или усовершенствование моего уже написанного кода.
Очень ценится!