: 리렌더링이 꼭 필요한 값을 다룰 때 쓰면 됨
: React 컴포넌트가 렌더링될 때마다 특정 작업을 수행하도록 설정할 수 있는 hook
: 리렌더링을 발생시키지 않는 값을 저장할 때 사용한다.
(state는 변경되면 렌더링되고 ref는 변경돼도 렌더링 안됨)
ex) 특정 input이 focusing 되어야 한다면 사용
: current 속성 가진 객체를 반환한다. (인자로 넘어온 초기 값을 current 속성에 할당)
→ current 속성은 값을 변경해도 상태를 변경할 때처럼 React 컴포넌트가 다시 랜더링되지 않는다. React 컴포넌트가 다시 랜더링 되어도 current 속성 값이 유실되지 않는다.
: React에서 리렌더링이 잦은 것은 좋은 것이 아님
(리렌더링 할 때 마다 자원이 소비되기 때문. 비용 발생)
→ 불필요한 렌더링이 발생하지 않도록 최적화 필요