이번 post에서는 pinia의 부가적인 기능들에 대해 살펴보자.
내장 함수들
$subscribe
watch와 유사하게 store의 $subscribe 함수를 이용하면 state의 상태 변화를 모니터링할 수 있다. $subscribe의 콜백 함수에는 mutation과 state 객체가 전달되는데 mutation에는 변경에 대한 상세한 정보가 추가된다.
상세한 내용을 볼 수 있다는 점 외에도 watch와의 차이점은 동시에 여러 번의 patch 가 진행되는 경우 $subscribe는 매번 변경을 감지하지만 watch는 한 번만 감지한다.
따라서 store의 상태를 localstorage에 저장한다고 할 때 건별로 저장할 거냐 아니냐에 따라서 $subscribe에서 할 수도 있고 watch에서 할 수도 있다.
$reset
필요하다면 state를 최초 상태로 reset 시킬 수 있는데 options 형태로 사용하는 경우는 $reset() 함수가 내장돼서 호출만 하면 된다. 하지만 composition 형태는 $reset()이 바인딩되지 않았기 때문에 직접 store에서 작성해주어야 한다. 결국은 굳이 $reset일 필요는 없지만 일관성을 위해서 $reset이라고 함수를 추가해 주자.