localStorage에 최근 본 상품 여러개 담고 싶은데 다른 페이지로 넘어가면 바로 초기화 되네요
강의에서 배운 코드 복붙도 해봤는데 초기화 되는 건 똑같아요
특별히 뭔가를 건든 게 없는데 왜 이러는 걸까요?
아무래도 App.js의 useEffect [] 때문에 페이지가 새로 로드될때마다 빈 배열이 새로 생성되는 것 같기도 한데..
해결 방법을 모르겠어요..
App.js
useEffect(() => {
localStorage.setItem("watched", JSON.stringify([]));
}, []);
Detail.js
useEffect(() => {
let recentItem = localStorage.getItem("watched");
recentItem = JSON.parse(recentItem);
recentItem.push(searchItem.id);
localStorage.setItem("watched", JSON.stringify(recentItem));
});
그리고 localStarage에 저장되는 데이터를 여러 컴포넌트에서 사용하려 할 때에는
굳이 리덕스 store에 만들어서 불러다 사용할 필요는 없는 건가요?