Я пытаюсь установить значение состояния, когда курсор находится над компонентом или нет.
toggleIcon = () => {
this.setState({ isMouseOver: !this.state.isMouseOver });
};
...
<div
onMouseEnter={() => this.toggleIcon()}
onMouseLeave={() => this.toggleIcon()}
>
{isMouseOver ? (
<InfoIcon />
) : (
<NormalIcon />
)}
</div>
Когда я перемещаю курсор над этим компонентом с нормальной скоростью, он работает хорошо.
Но если я перемещаю курсор быстро, срабатывает только событие onMouseEnter
, но не событие onMouseLeave
.
Кстати, InfoIcon
не меняется на NormalIcon
, даже если курсор не находится над этим компонентом.
Если в функции toggleIcon
отсутствует управление состоянием, оба события срабатывают, даже если курсор быстро перемещается над компонентом.
Пожалуйста, научите меня, что не так и как я могу это исправить.
Благодарю. :)