state depth

useState 심화

상태 업데이트가 복잡해질수록 함수형 업데이트, 객체와 배열의 불변성, 지연 초기화를 구분해서 적용해야 합니다.

함수형 업데이트

다음 값이 이전 값에 의존하면 setter에 함수를 넘겨 최신 상태를 기준으로 계산합니다.

불변성 유지

객체와 배열은 직접 수정하지 않고 복사한 뒤 바뀐 부분만 반영합니다.

지연 초기화

초기값 계산이 무거우면 함수를 넘겨 첫 렌더링 때만 실행되도록 합니다.

prev

연속 업데이트에서 이전 상태 기반 계산이 필요한지 확인한다.

copy

spread, map, filter로 새 객체나 배열을 만드는지 본다.

nested

중첩 객체 수정 시 바뀌는 경로를 모두 새 참조로 만든다.

init

초기 계산이 매 렌더링마다 반복되지 않는지 점검한다.