처음에는 단순히 값을 저장하는 용도로만 생각했지만, useState가 선언적(Declarative) UI 업데이트를 위한 도구라면, useRef는 명령형(Imperative) 작업을 위한 도구라는 것을 제대로 공부하게 되었습니다. useRef에 저장된 값은 컴포넌트가 수십 번 리렌더링되어도 초기화되지 않고 유지되지만, 값이 변경되어도 useState처럼 불필요한 리렌더링을 유발하지 않는 덕분에 타이머 ID, API 응답 캐싱, 또는 이전 상태(Previous State) 값을 추적하는 등 UI와 무관하게 데이터의 지속성이 필요한 경우에 useRef가 성능 최적화의 핵심적인 방법이 된다는 것을 배웠습니다. 덕분에 useRef가 React의 선언적 모델을 보완하고 클린 코드를 작성하는 데 필수적인 Hook임..