지연 초기화는 저장소 읽기를 첫 렌더 한 번으로 제한한다

localStorage 복원과 reducer 전이를 분리하면 초기화 비용과 상태 규칙이 섞이지 않는다.

1

initialArg

기본값과 저장 key만 전달

2

init(initialArg)

저장값을 읽고 안전하게 parse

3

initial state

없거나 잘못된 값이면 기본값 사용

4

dispatch(action)

이후 변경은 reducer만 통과

5

persist effect

확정된 state를 저장소와 동기화

핵심초기화 함수는 첫 렌더에만 실행하고, reducer 안에서는 저장소 같은 외부 시스템을 읽거나 쓰지 않는다.