안녕하세요
로컬 스토리지에 my list 저장하기 본문
컴포넌트를 로드할 때 localStorage.getItem을 이용하여 저장된 목록을 불러옵니다.
// 로컬에 my list 저장
useEffect(() => {
const savedList = JSON.parse(localStorage.getItem("myList"));
if (savedList) {
setMyList(savedList);
}
}, []);
myList를 업데이트 할 때마다 localStorage.setItem을 이용하여 목록을 저장합니다.
useEffect(() => {
localStorage.setItem("myList", JSON.stringify(myList));
}, [myList]);
전체 노래 목록에서 삭제를 하면 myList에서도 삭제되도록 합니다.
const handleClickMinusIcon = (e, song) => {
e.stopPropagation();
if (isClickedMyList) {
const copiedMyList = [...myList];
copiedMyList.splice(copiedMyList.indexOf(song), 1);
setMyList([...copiedMyList]);
return;
}
const removeItem = myList.find((item) => item.id === song.id);
const copiedMyList = [...myList];
copiedMyList.splice(copiedMyList.indexOf(removeItem), 1);
setMyList([...copiedMyList]);
};
'유튜브컨텐츠탐색-StelLife' 카테고리의 다른 글
[report:1] 특정 채널 제외하기 (0) | 2023.03.27 |
---|---|
localStarage 만료시간 설정하기 (0) | 2023.03.21 |
scrollIntoView: ref로 선택된 목록이 화면에 들어오도록 스크롤 이동하기 (0) | 2023.03.15 |
youtube playlist로 만든 노래 플레이어에 필터 기능 구현하기 (0) | 2023.03.14 |
youtube playlist로 노래 플레이어 만들기 (0) | 2023.03.13 |