이전 값에 의존
함수형 업데이트
setCount(prev => prev + 1)
연속 클릭이나 여러 setter가 이어질 때 최신 이전 값을 기준으로 계산합니다.
useState Deep Dive
setter에 무엇을 넘길지 판단하면 stale state와 불변성 실수를 빠르게 줄일 수 있습니다.
이전 값에 의존
setCount(prev => prev + 1)
연속 클릭이나 여러 setter가 이어질 때 최신 이전 값을 기준으로 계산합니다.
객체와 배열 변경
map, filter, ...spread
원본을 직접 바꾸지 않고 새 객체나 새 배열을 넘겨 리렌더링 기준을 분명히 합니다.
초기 계산이 무거움
useState(() => load())
첫 마운트에서만 실행되어 리렌더링마다 같은 계산을 반복하지 않습니다.
점검 순서는 간단합니다. 다음 상태가 이전 상태를 읽으면 콜백, 중첩 자료를 바꾸면 새 참조, 초기값이 비싸면 함수 전달입니다.