function comp 에서도 state와 lifecycle을 사용 가능하게 해준다.
state 와 관련된 로직을 재사용 할 수 있다.
// Custom hook
// 함수를 만들어서 사용하고자 하는 값을 반환 해주면 된다.
import { useEffect, useState } from "react";

export default function useWindowWidth() {
  const [width, setWidth] = useState(window.innerWidth);

  useEffect(() => {
    const resize = () => {
      setWidth(window.innerWidth);
    };
    window.addEventListener("resize", resize);

    return () => {
      window.removeEventListener("resize", resize);
    };
  }, []);

  return width;
}