Я могу использовать React.useState
const [hoveredClass, setHoveredClass] = React.useState("");
const updateHovered = (e) => {
setHoveredClass(e.target.id)
}
const removeHovered = (e) => {
setHoveredClass('')
}
return (
<div className={`someStaticClass ${hoveredClass ? "hoveredClass" : ""}`}
onMouseEnter={updateHovered}
onMouseExit={removeHovered}
>
{list. map(item => (
<ImageChildComponent {...item} />
)}
</div>
)
Target даст вам дочерний элемент, но вы можете добавить прослушиватель событий к родителю.
Как упоминает @YevgenGorbunkov, измените состояние будет запускать рендеринг, поэтому рассмотрите возможность оборачивания ImageChildComponent React memo для предотвращения ненужного рендеринга