custom hooks 返回值的问题

来源:3-10 自定义 Hook - 重构 MouseTracker

ywang04

2021-08-08

import { useEffect, useState } from "react";

const useMousePosition = () => {
  const [positions, setPositions] = useState({ x: 0, y: 0 });
  useEffect(() => {
    const updateMouse = (e: MouseEvent) => {
      setPositions({ x: e.clientX, y: e.clientY });
    };
    document.addEventListener("mousemove", updateMouse);
    return () => document.removeEventListener("mousemove", updateMouse);
  }, []);
  return positions;
};

export default useMousePosition;

老师 这段代码我没啥问题 唯一不确定的就是 return positions; 是不是默认会 return [positions] 这样更符合hooks的pattern呢?谢谢

写回答

1回答

张轩

2021-08-09

同学你好 hooks 就是一个自定义函数,返回值没有特别固定的要求, 把它看成普通函数就好,假如是 return 一个数组。也最好是直接数组包含两个数字更符合常理 return [0, 5] 这样的格式

0
1
ywang04
非常感谢!
2021-08-09
共1条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2136 学习 · 959 问题

查看课程