프론트엔드/한 입 크기로 잘라먹는 리액트
React.js - 웹 스토리지 이용하기
icems0428
2025. 3. 1. 01:15
웹 스토리지 이용하기
감정 일기장 기능 구현을 마치고, 웹 스토리지라는 것을 배웠다. 기존의 감정 일기장은 새로고침하면 데이터가 보존되지 않는다는 문제가 있었는데, 웹 스토리지라는 웹 브라우저의 내장 DB를 이용하면 쉽게 데이터를 저장하고 꺼내쓸 수 있다.

웹 스토리지에는 크게 두 종류가 있다. 브라우저 탭 별로 데이터를 보관하는 SessionStorage, 사이트 주소별로 데이터를 보관하는 LocalStorage이다. 우리가 만들 감정 일기장은 창이 닫혀도 데이터가 보관되길 원하므로 LocalStorage를 이용한다. 사용 방법은 아주 간단한데, JS 함수를 이용하면 된다.
localStorage.setItem( "key", value );
localStorage.getItem( "key" );
이때 key 값은 원시타입(숫자나 문자열)이어야 한다. (사실 숫자를 입력해도 문자열로 변환 됨.)
또한 웹 스토리지의 value 값으로는 오직 문자열만 전달할 수 있다. 그러므로 숫자나 불리언을 전달할 때는 String 형 변환을, 객체나 배열을 전달할 때는 JSON.stringify() 함수를 이용한다. 반대로 웹 스토리지에서 문자열을 받아와 객체로 변환하려면 JSON.parse() 함수를 사용하면 된다.
localStorage.setItem("key", JSON.stringify( 객체 or 배열 ));