안녕하세요
리액트 - 로컬 스토리지 : 캐시 본문
로컬스토리지
로컬스토리지는 재접속 해도 브라우저에 남아있다.
+세션스토리지는 브라우저를 끄면 휘발된다.
로컬스토리지 다루는 법
localStorage.setItem("key", "value")
키와 값 저장하기
localStorage.getItem("key") // "value"
값 가져오기
localStorage.removeItem("key") // undefined
키 삭제하기
array/object를 저장하려면 JSON으로 변환
let userData = { name: "Amy" };
userData = JSON.stringify(userData)
let userJSONData = localStorage.getItem("userData");
console.log(userJSONData); // {"name":"Amy"} JSON 데이터 가져옴
let userParsedData = JSON.parse(userJSONData);
console.log(userParsedData); // {name: 'Amy'} object로 변환한 데이터 가져옴
let userName = userParsedData.name;
console.log(userName); // Amy 객체의 name 키의 값을 가져옴
로컬스토리지 다루기
1. 로컬스토리지 생성 (이미 있으면 하지 않도록 하기)
useEffect(() => {
if (localStorage.getItem("productId") === null) {
localStorage.setItem("productId", JSON.stringify([]));
}
}, []);
2. 로컬스토리지에서 자료 꺼내기
3. 꺼낸 자료에 데이터 추가하기 (중복이 있다면 추가하지 않기)
4. 로컬 스토리지에 데이터 추가한 자료 넣기
useEffect(() => {
const viewedItem = JSON.parse(localStorage.getItem("productId"));
viewedItem.push(parseInt(params.id));
const viewedItemSet = new Set(viewedItem);
const viewedItemArray = Array.from(viewedItemSet);
localStorage.setItem("productId", JSON.stringify(viewedItemArray));
}, []);
'스터디 > 코딩애플' 카테고리의 다른 글
리액트 - Lazy Load : 컴포넌트 로딩 분리하기 (0) | 2022.12.24 |
---|---|
리액트 - React Query : ajax 간편하게 자동 요청 (0) | 2022.12.24 |
리액트 - Redux Toolkit을 써보자 (0) | 2022.12.21 |
리액트 - route, styled-components특징, lifecycle, useEffect (0) | 2022.12.20 |
리액트 - 기초 문법과 지식 (0) | 2022.12.20 |