
useEffect(() => {
fetch(`data/${checked ? "sale_" : ""}products.json`)
.then((res) => res.json())
.then((data) => {
console.log("데이터를 받아옴");
setProducts(data);
});
return () => {
console.log("clean!!");
};
}, []);
checked의 상태가 변할때마다 fetch를 통해 받아오는 data가 새로워지게 코드를 짰지만, dependency array 자리에 빈배열을 넣었기 때문에, 최초 마운팅 되었을때만 useEffect가 재랜더링 된다.
따라서 dependency array자리에 [ ] 빈배열이 아닌, [checked]를 넣어주어야한다.