현재 중첩된 데이터를 상태에 저장하는데
사용자가 실수로 새로 고침을 눌렀을 때에 대비하여 사용할 수 있는 대안책이 없을까, 하다가(로그인 없이, DB없이 구현 중)
브라우저에서 데이터를 저장할 수 있는 방법 중
sessionStorage
와 localStorage
가 있었음을 떠올렸습니다.
과연 이 기능을 위해서 브라우저 storage
까지 써야 하나 의문이긴 한데,
조사를 해보고 도입해 볼 만 한지 보려고 합니다.
storage
종류가 어떤 것이 있나?storage
를 도입하면 상태에 데이터를 저장할 필요가 없어질까?browser storage
를 위 목적으로 쓰는게 맞나?sessionStorage
페이지가 리로드, 복구, 열리는 동안 (페이지 세션동안) 사용 가능한 저장소
localStorage
브라우저가 닫히고 다시 열리는 동안 지속되는 저장소 (따로 삭제해주는 로직 필요)
간단히 위와 같은 차이점이 있습니다.
이 서비스는 논문 키워드를 검색하고, 참고문헌을 꼬리에 꼬리를 무는, 파도타기 형식으로 데이터를 불러 와 유저가 필요한 논문들을 확인하는 방식입니다.
일회용 서비스로 봐도 무방 하면서, 이때 데이터를 요청하는데에 소요되는 비용이 크므로 중복된 호출은 최대한 삼가야 합니다.
유저가 필요할 때 계속 API를 요청 하기 보다 storage에 저장해 둔 후 사용자가 원하는 만큼 문서를 조작한 후 세션이 종료되는 것이 타당한 서비스 제공 방식이라 판단하였습니다.
따라서 논문과 관련된 데이터는 모두 session Storage
에 저장하기로 결정하였습니다.