useHover and useHoverDirty

React 用户界面传感器钩子,用于追踪某个元素是否有鼠标悬停。

  • useHover 接收一个 React 元素或者返回一个元素的函数,useHoverDirty 接收 React ref。
  • useHover 设置 react onMouseEnteronMouseLeave 事件, useHoverDirty 设置 DOM onmouseoveronmouseout 事件.

用法

  1. import {useHover} from 'react-use';
  2. const Demo = () => {
  3. const element = (hovered) =>
  4. <div>
  5. Hover me! {hovered && 'Thanks!'}
  6. </div>;
  7. const [hoverable, hovered] = useHover(element);
  8. return (
  9. <div>
  10. {hoverable}
  11. <div>{hovered ? 'HOVERED' : ''}</div>
  12. </div>
  13. );
  14. };

参考

  1. const [newReactElement, isHovering] = useHover(reactElement);
  2. const [newReactElement, isHovering] = useHover((isHovering) => reactElement);
  3. const isHovering = useHoverDirty(ref);