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;
}