오늘은 React에서 사용하는 useRef에 대해서 알아보자.
useRef란 리액트에서 참조(ref)를 생성하고 관리하기 위한 Hook이다.
useRef를 사용하면 컴포넌트 내부에서 생성한 변수나 DOM 요소에 대한 참조를 생성하고, 이를 다른 곳에서 사용할 수 있다.
useRef를 사용하는 상황으로는 다음이 있다.
const authorInput = useRef();
const handleSubmit = () => {
if (state.author.length < 1) {
authorInput.current.focus();
return;
}
}
<input
ref={authorInput}
name="author"
value={state.author}
onChange={handleChageState}
/>
<button onClick={handleSubmit}>일기 저장하기</button>
const [count, setCount] = useState(0);
const prevCountRef = useRef();
useEffect(() => {
prevCountRef.current = count;
}, [count]);
const prevCount = prevCountRef.current;
<div>
<p>Current count: {count}</p>
<p>Previous count: {prevCount}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>


const dataRef = useRef([]);
dataRef.current.push('데이터 추가');
console.log(dataRef.current);
<div>
<button onClick={handleAdd}>Add Data</button>
</div>