오늘 토이 프로젝트에서 Firebase 구글 로그인 기능을 구현하고 흐뭇한 마음으로 이런저런 버튼을 클릭을 하고 있을 때였다.
새로고침 버튼을 누르니 로그인 상태가 풀려버리는 것이었다...!
아차 싶었다. 로그인 상태를 Redux state에 유저정보와 함께 저장해 관리하려고 했는데 생각해보니 Redux는 새로고침과 동시에 모든 State를 초기화한다는 사실을 깜빡했다.
문제 해결에는 두 가지 방안이 있다. 하나는 Redux-persist 라이브러리를 이용해 Redux State를 초기화되지 않고 유지할 수 있도록 해주는 방법이고 다른 하나는 local storage를 이용해 상태를 기록하는 것이다. (물론 Rest api를 이용해 서버로부터 계속 정보를 받아오는 방법도 있겠지만 이는 배제하도록 하겠다.)
그렇다면 Redux persist와 local storage의 차이점은 무엇일까? 사실 둘다 local storage를 사용한다는 점에서 근본적으로 다르진 않다. Redux persist도 결국 local storage를 redux에서 활용할 수 있도록 해주는 것이기 때문이다.
해외 블로그 중에 관련되어서 잘 설명된 블로그가 있어 번역해 옮겨 본다.
Redux Persist vs LocalStorage
위에 나열된 기능이 필요하지 않다면 그렇다. 만약 어플리케이션이 굉장히 작거나 1개 혹은 2개의 상태만이 영속적으로 유지될 필요가 있거나 서로 상호 의존적이지 않다면 직접 저장해도 된다.
출처: https://saubhagya-ashish.medium.com/redux-persist-vs-localstorage-64771adb762b
Redux Persist vs LocalStorage
Hi, do you know what’s the basic difference and why we use Redux Persist. If your answer is no, you can go through this quick guide .
saubhagya-ashish.medium.com
'Front-End > Redux' 카테고리의 다른 글
[Redux] Redux의 세 가지 원칙 (0) | 2021.12.06 |
---|---|
Redux Basics with Code Examples (Redux 예제) (0) | 2021.12.03 |
Redux WHAT IS REDUX? (0) | 2021.12.02 |