ReactJS Hook 패턴 ~Latest Ref 패턴~

발행: (2026년 1월 14일 오전 08:01 GMT+9)
1 min read
원문: Dev.to

Source: Dev.to

ReactJS Hook Pattern 최신 Ref 패턴 커버 이미지

최신 Ref 패턴

  • 최신 Ref 패턴은 useEffect 안에서 최신 값을 접근할 때, 의존성 배열에 추가하지 않아도 되는 문제를 해결합니다.
  • 먼저 함수를 저장할 ref를 만들고, 그 다음 의존성이 없는 또 다른 useEffect를 사용해 매 렌더링마다 ref를 업데이트합니다.
import { useEffect, useRef } from "react";

function ClickHandler({ onClick }) {
  const onClickRef = useRef(onClick);

  // Keep the ref up‑to‑date on every render
  useEffect(() => {
    onClickRef.current = onClick;
  });

  // Use the ref inside an effect with an empty dependency array
  useEffect(() => {
    const handleClick = () => {
      onClickRef.current();
    };

    document.addEventListener("click", handleClick);

    return () => {
      document.removeEventListener("click", handleClick);
    };
  }, []);

  return (
    // JSX for the component can be placed here
  );
}

function App() {
  return <ClickHandler onClick={() => console.log("Clicked")} />;
}

export default App;
Back to Blog

관련 글

더 보기 »

ReactJS 훅 패턴 ~UseImperativeHandle~

useImperativeHandle는 자식 컴포넌트가 ref를 통해 특정 메서드를 부모 컴포넌트에 노출하도록 허용합니다. 이 패턴은 부모가 자식의 함수를 호출해야 할 때 유용합니다.