- useState를 통해 State를 관리한다면 State의 값이 변화할 때 마다 Re-Rendering된다.
- useRef를 통해 State를 관리한다면 State의 값이 변화하여도 Re-Rendering되지 않는다.
아래 예시를 통해 확인해보자.
아래 코드는 State, Ref 값과 각 값을 변화시키는 버튼을 화면에 표시한다.
App.js
import React, { useRef, useState } from "react";
const App = () => {
const [state, setState] = useState(0);
const ref = useRef(0);
const onClickState = () => {
console.log("state : " + state);
setState((prev) => prev + 1);
};
const onClickRef = () => {
console.log("ref : " + ref.current);
ref.current += 1;
};
return (
<div>
State : {state} <button onClick={onClickState}>State 올리기</button>
<br />
Ref : {ref.current}
<button onClick={onClickRef}>Ref 올리기</button>
</div>
);
};
export default App;
1. 기본 상태
2. State 올리기 버튼을 클릭
3. Ref 올리기 버튼을 클릭
4. State 올리기 버튼을 클릭
오류가 있으면 댓글로 알려주세요!