개발자

Localstorage에는 어떤데이터를 저장해야 좋을까요

2024년 01월 12일조회 333

Locacl Storage에 유저 정보와 post를 저장해도 될까요 Local storage는 보안상 취약한 부분이 있다고 해서 조금 불안해서 질문드립니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

김태우님의 프로필 사진

로컬 스토리지는 주로 언제 사라져도 상관없는 데이터를 저장하긴 합니다. 개인적인 생각으론 로컬 스토리지에 개인 정보를 저장하는 것은 좋지 않을 거라 생각되네요!

정 훈님의 프로필 사진

말씀하신대로 보안상의 이슈로 인해 로컬 스토리지에 유저 정보를 그대로 담는것은 좋지 않을 것 같습니다 ! 개인 혹은 팀 프로젝트를 진행하고 계신거라면 로그인시 받게되는 액세스 토큰같은 것을 담는 용도로 많이 사용하게 될 것 같아요 ! 또, 다크모드와 같은 state를 로컬 스토리지에 담아두고 사용자가 페이지에 재접속했을 때 기존 테마가 유지되도록 한다던가 하는 용도로 사용해볼 수 있을 것 같습니다. 질문자님께서 로컬 스토리지에 user, post 데이터를 담으시려는게 전역적으로 관리해서 다른 페이지에서도 이를 사용하고 싶으신 것이라면, react-query의 캐싱 기능을 이용하시거나 recoil, zustand 같은 상태관리 툴을 이용해보시는게 좋을 것 같습니다 :)

profile picture

익명

작성자

2024년 01월 13일

리엑트 쿼리를 이용하는 이유가 리엑트 쿼리가 서버에 요청을 보낼때 지금데이터가 변경사항이 있는지 없는지 확인해주는 이점 때매 쓰는건가요?

정 훈님의 프로필 사진

정 훈

FE2024년 01월 13일

리액트 쿼리는 주로 서버 스테이트 ( 서버 측에서 받아온 데이터 ) 를 관리하는데 사용합니다. 이런 툴이 제공하는 강력한 기능 중 하나가 '캐싱' 입니다. 리액트 쿼리를 기본적으로 GET 요청을 통해 받아온 데이터를 자동으로 캐싱하는 기능을 제공하고 있습니다. 이를 통해서 캐싱된 데이터를 다른 페이지에서도 사용할 수 있는데요, 예를 들어, 유저 정보의 경우 처음 사용자가 로그인 했을 때 userQuery ( 데이터를 보관하는 곳을 Query라고 칭하겠습니다. ) 에 캐싱하여 보관하고, 이를 마이페이지와 같은 필요한 곳에서 가져다 사용할 수 있습니다. 캐싱 데이터를 사용한다는 것의 장점은 같은 데이터에 대해 동일한 요청을 보내지 않아서 불필요한 리소스 낭비를 방지할 수 있다는 것입니다. 일반적으로 유저 정보의 경우는 사용자가 정보를 수정하지 않는 한 변동될 일이 거의 없습니다. 이런 데이터의 경우는 매번 요청을 보내 가져오는 것 보단 캐싱된 데이터를 가져와서 사용하는게 좋겠네요 !

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!