9. useEffect 의존성에 ref를 담을 때마다 찜찜하신 분들을 위해

https://velog.io/@shmoon2917/useEffect-의존성에-ref를-담을-때마다-찜찜하신-분들을-위해

  1. 모든 렌더링시 마다 트리거되는 useEffect 가 아니라면, 사용할 ref 는 useCallback + callback ref 로 작성하기
  2. 모든 렌더링시마다 트리거 되는 useEffect 라면 useRef 의 값을 의존성으로 담아두 댐

callback ref 가 머야

const useGettingHeight = () => {
  const [height, setHeight] = useState(null);

  // ✅  useRef와 useEffect를 지우고 callback ref를 새로 작성
  const ref = useCallback((node: HTMLElement) => {
    if (node !== null) {
      setHeight(node.getBoundingClientRect().height);
    }
  }, []);

  return [height, ref];

https://velog.io/@cnsrn1874/번역-callback-refs-사용으로-useEffect-방지하기