function deleteReview() {
let reviewId = this.closest("li").id;
let ReviewList = JSON.parse(window.localStorage.getItem(id));
console.log("리뷰 ID: ", reviewId); //리뷰 ID: ID_111
console.log("리뷰 목록:", ReviewList); //리뷰 목록: Object ID_123
...
}
이번에 프로젝트를 하면서 localStorage에서 데이터 지우는 부분을 감을 잡지 못해서 어려웠다.
팀원분의 도움으로 알게된 코드였는데
첫번째줄의 this는 button #deleteReview를 말했고, closest("li")는 현재 엘리먼트에서 가장 가까운 <li> 엘리먼트를 찾아준다.
그리고 .id로 해당하는 <li> element의 id 속성 값을 가져와 reviewId에 담았다.
두번째로 local storage에는 array로 저장이 안되기 때문에 JSON.stringify로 array처럼 생긴 string으로 저장한 후 다시 JSON.parse 이용해 array로 꺼내는 방법을 사용해야했다.
처음엔 stringify만 썼었다가 꺼내올때는 parse를 꼭 써야하는지 몰랐는데 getItem을 쓸 때 JSON.parse로 JSON이 읽을 수 있는 데이터를 자바스크립트객체로 변환해서 가져온다는걸 새롭게 알게되었다.
아직 모르는 부분이 너무 많고, 헷갈리는 부분들도 많은데 코드를 보고 새롭게 알게되는 부분들이 많아서 좋았다.
지금은 내가 아주 높은 산을 바라보고 있는 느낌이 든다..ㅎㅎ
'TIL > 기록' 카테고리의 다른 글
VS Code Extensions 확장프로그램 정리 (0) | 2024.01.18 |
---|---|
React 시작 전 설치 (0) | 2024.01.17 |
[TIL] JSON (0) | 2024.01.15 |
[TIL] Promise (0) | 2024.01.12 |
[TIL] .gitignore을 써도 안될 때 (1) | 2024.01.11 |