useLocalStorage 훅은 state와 저장소 동기화를 캡슐화한다
초기값은 localStorage에서 읽고, 화면은 state를 사용하며, state가 바뀌면 effect가 localStorage에 다시 저장한다.
01 Init
localStorage 읽기
02 State
컴포넌트 값
03 Setter
값 변경
04 Effect
storage 쓰기
핵심커스텀 훅의 가치는 저장소 동기화 규칙을 컴포넌트 밖으로 빼내 재사용 가능하게 만드는 데 있다.