이번 포스트에서는 pinia에서 사용할 수 있는 persistant plugin 에 대해 살펴보자.
pinia-plugin-persistedstate
기존 상황의 문제점? 특징!
이제까지 간단하게 pinia를 통해 app 전역의 상태를 관리할 수 있었다. 열심히 할 일도 추가하고 완료된 일들을 필터링 할 수도 있었는데 새로고침을 한번 하는 순간 어떤 문제가 발생할까?
pinia는 단순히 javascript에서 객체로 정보를 관리하기 때문에 새로고침 하는 순간 처음으로 reset 된다. 그럼 어떻게 하면 이런 정보를 지속성있게 저장할 수 있을까?
클라이언트에서 브라우저를 이용하면서 사용할 수 있는 저장소는 당연히 storage이다. 우리는 store를 구독(또는 watch)하고 있다가 변경이 발생할 때마다 store의 state들을 storage에 저장하면 된다! 그리고 초기화 되는 경우 storage에 저장된 정보를 이용해서 store의 state를 복구해주면 된다.
안되는건 아닌데 귀찮음이 언제나 문제다.ㅠㅠ
pinia-plugin-persistedstate 기본 설정
이런 고민을 조금이나 덜어줄 수 있는 plugin이 pinia-plugin-persistedstate이다.