[TIL] 10월 12일 브라우저장소

기록하며 공부하자·2021년 10월 12일

로그인관련 실습시 accessToken을 로컬스토리지에 저장해 accessToken 여부를 판단해 권한분기 작업을 진행했다.

브라우저에 저장하는 방법의 경우 3가지가 있다.

cookie, localStorage, sessionStorage

브라우저 저장소 간단요약
cookie : 껏다 키거나 새탭을 열어도 정보가 안사라지고 보내는 api 요청마다 쿠키가 따라다닐수 있음
localStorage : 껏다 키거나 새탭을 열어도 정보가 안사라짐
sessionStorage : 껏다 키거나 새탭을 키면 정보가 사라짐

각각의 특징에 맞게 사용하면 된다.

스토리지 저장 및 콘솔 값 찍어보기

예제코드

export default function BrowserStoragePage() {
  function onClickSaveCookie() {
    document.cookie = "aaa = 철수";
  }
  function onClickSaveLocalStorage() {
    localStorage.setItem("bbb", "영희");
  }
  function onClickSaveSessionStorage() {
    sessionStorage.setItem("ccc", "훈이");
  }
  function onClickGetCookie() {
    // console.log("myCookie", document.cookie);
    const temp = document.cookie
      .split("; ")
      .filter((el) => el.startsWith("zzz="))[0];
    console.log(temp.split("=")[1]);
  }
  function onClickGetLocalStorage() {
    const asdf = localStorage.getItem("bbb");
    console.log("로컬스토리지 : ", asdf);
  }
  function onClickGetSessionStorage() {
    const asdfg = sessionStorage.getItem("ccc");
    console.log("세션스토리지 : ", asdfg);
  }
  return (
    <div>
      <button onClick={onClickSaveCookie}>쿠키에 저장하기</button>
      <button onClick={onClickSaveLocalStorage}>로컬스토리지에 저장하기</button>
      <button onClick={onClickSaveSessionStorage}>
        세션스토리지에 저장하기
      </button>
      ======================================================================
      <br />
      <button onClick={onClickGetCookie}>쿠키에 있는 값 가져오기</button>
      <button onClick={onClickGetLocalStorage}>
        로컬스토리지에 있는 값 가져오기
      </button>
      <button onClick={onClickGetSessionStorage}>
        세션스토리지에 있는 값 가져오기
      </button>
    </div>
  );
}

cookie 값 저장하는 방법
document.cookie 방식으로 저장하며 key, value 값을 "key === value" 방식으로 저장한다.

저장 예시
document.cookie = "aaa = 철수";

localStorage, sessionStorage 저장하는 방법
localStorage와 sessionStorage 사용방법은 동일하며 setItem을 사용해서 저장소에 저장한다.

저장 예시
localStorage.setItem("bbb", "영희");
sessionStorage.setItem("ccc", "훈이");


스토리지값 사용해보기(콘솔찍기)

cookie값 사용해보기(콘솔찍기)
위에서 cookie에 저장한 값을 사용하려면 cookie값을 가공해줘야 한다.

사용예시
const temp = document.cookie
      .split("; ")
      .filter((el) => el.startsWith("zzz="))[0];

이렇게 정의후 temp를 콘솔로 찍어보면

value 값이 나온다.
저장되는 방식이 조금 다르기에 split, fliter 를 사용해서 표현했으며 상황에 따라서 다르게 표현할수 있다.

localStorage, sessionStorage 저장하는 방법
localStorage, sessionStorage 모두 getItem을 사용해서 값을 불러온다.

사용예시
const asdf = localStorage.getItem("bbb");
console.log("로컬스토리지 : ", asdf);
const asdfg = sessionStorage.getItem("ccc");
console.log("세션스토리지 : ", asdfg);


value 값이 이렇게 출력된다.

각각의 저장소마다 활용되는 경우가 다르니 저장되는 방식, 사용방식에 대하여 많이 사용해봐야 겠다.

profile
프론트엔드 개발자 입니다.

0개의 댓글