React(6) 〓 Local Storage

Acrylic·2024년 3월 13일

Local Storage

Local Storagejs에 이미 있는 기능으로 데이터를 반영구적으로 저장할 때 사용합니다.

제일 많이 쓰는 것만 보자면 getItemsetItem이 있고 get, set이라는 이름답게 저장소에서 데이터를 얻거나 지정하는 겁니다.

(removeItem, clear도 있는데 이름만 들어도 무슨 기능을 하는지 대강 알 겁니다)

  const [notes, setNotes] = React.useState(
    JSON.parse(localStorage.getItem("notes")) || []
  );

  const [currentNoteId, setCurrentNoteId] = React.useState(
    (notes[0] && notes[0].id) || ""
  );

  React.useEffect(() => {
    localStorage.setItem("notes", JSON.stringify(notes));
  }, [notes]);

useStateuseEffect를 이용해서 간단하게 활용해 볼 수 있습니다.

처음 문단에서는 localStorage에서 notes라는 이름으로 저장한 것을 불러오는 거고요,

두 번째 문단에서는 값이 존재할 때 화면을 띄우고 아니면 비우는 겁니다.

마지막으로 세 번째 문단에서는 localStorage에서 notes라는 이름으로 저장하는 겁니다.

쓸 때마다 JSON.parse, JSON.stringify라는 표현이 나오는데 이유는 저장할 때 stringify 안 해 주면 배열 혹은 객체가 전환되지 않아 JSON 형태에 넣기에 부적절한 코드가 되므로 작성하는 겁니다.

불러올 때도 마찬가지로 JSON 형태 그대로 보내면 배열에 받기에 부적절한 코드가 되니 JSON.parse를 쓰는 겁니다. 그냥 변수 하나를 쓸 땐 안 하셔도 됩니다.

profile
프런트엔드 개발자 지망생

0개의 댓글