useRef란 원하는 특정 DOM을 직접 선택해서 컨트롤 할 수 있게 해주는 Hook이다. useRef로 DOM 노드, 엘리먼트, 그리고 React 컴포넌트 주소값을 참조할 수 있습니다. 그리고 useRef는 값이 바뀌어도 리렌더링 하지 않는다. 컴포넌트의 속성만 조회 & 수정한다.
값이 바뀔 때마다 렌더링이 필요한 상황에서 useState를 사용하고 그렇지 않을 경우 useRef 를 사용하면 된다고 생각하면 될 것 같다.
import { useRef } from 'react';
const App = () => {
const ref = useRef();
return <input type="text" name="keyword" ref={ref} />;
};
useRef는 DOM선택 목적 외에도 변수관리를 목적으로 사용하기도 한다. 주로 변수 리렌더링이 데이터 저장은 필요하지만 리렌더링이 필요하지 않은 경우 많이 사용된다.