State
Ref
function useRef(initialValue) {
const [ref, unused] = useState({ current: initialValue });
return ref;
}
ref는 useState로 구성되는 훅이지만, state를 추적하지 않기 때문에 state setter 함수는 사용되지 않는다. (unsused)
useRef를 통해 생성한 ref 값은 항상 다음과 같은 plain javascript object를 리턴한다.
ref = {
current: initialValue
}
일반적으로 DOM element에 접근할 때 사용한다.
Ref는 리렌더링을 유발하지 않고 값을 유지할 수 있는 esacpe hatch!
리렌더링이 발생하지 않는 이상 리액트는 ref.current 값의 변화를 인식할 수 없다!