1. import React, { useEffect } from 'react';
    2. const useMouseMove = (
    3. ref: React.MutableRefObject<Element | null>,
    4. eventName: string,
    5. handler: EventListenerOrEventListenerObject,
    6. options?: boolean | AddEventListenerOptions,
    7. ) => {
    8. useEffect(() => {
    9. if (!ref?.current?.addEventListener) {
    10. console.log('未匹配到正确的属性');
    11. return;
    12. }
    13. if (!eventName) {
    14. console.error('没有监听事件类型');
    15. return;
    16. }
    17. ref.current.addEventListener(eventName, handler, options);
    18. return () => {
    19. ref.current?.removeEventListener(eventName, handler, options);
    20. };
    21. }, [ref, eventName]);
    22. };
    23. export default useMouseMove;