useMouse and useMouseHovered

React 感器钩子,在鼠标位置更改时重新渲染。 useMouse只是跟踪鼠标位置; useMouseHovered允许你指定额外的选项:

  • bound — 绑定元素中的鼠标坐标

  • whenHovered — 是否仅当用户将鼠标悬停在元素上时才附加mousemove事件处理程序

Usage

  1. import {useMouse} from 'react-use';
  2. const Demo = () => {
  3. const ref = React.useRef(null);
  4. const {docX, docY, posX, posY, elX, elY, elW, elH} = useMouse(ref);
  5. return (
  6. <div ref={element}>
  7. <div>Mouse position in document - x:{docX} y:{docY}</div>
  8. <div>Mouse position in element - x:{posX} y:{posY}</div>
  9. <div>Element position - x:{elX} y:{elY}</div>
  10. <div>Element dimensions - {elW}x{elH}</div>
  11. </div>
  12. );
  13. };

Reference

  1. useMouse(ref);
  2. useMouseHovered(ref, {bound: false, whenHovered: false});