useRef는 저장공간 또는 DOM요소에 접근하기 위해 사용되는 React Hook이다.
여기서 Ref는 reference, 즉 참조를 뜻한다.
자바스크립트를 사용 할 때 특정 DOM 을 선택하기 위해 querySelector 등의 함수를 사용하는데,
React를 사용하는 프로젝트에서도 가끔씩 DOM 을 직접 선택해야 하는 상황이 필요하다.
그럴 때 useRef라는 React Hook을 사용한다.
useRef를 이용하면 불필요한 재렌더링을 하지 않는다는 장점이 있다.
React 공식 문서의 표현으로는 전 생애주기를 통해 유지된다고 하며
렌더링과 상관없이, 마운트된 시점부터 언마운트된 시점까지 값을 기억하는 것이다.
그래서 ref는 state와 비슷하게 어떤 값을 저장하는 저장공간으로 사용되지만
변화는 감지하면서도, 그 변화가 렌더링을 발생시키면 안될 때 사용한다.
DOM요소 접근의 대표적인 예로 Input요소를 클릭하지 않아도 focus를 주기위해 사용한다.