자판기 작성
! 에러 발생 장바구니에 있는 아이템들이 획득 영역으로 넘어가도 장바구니의 총금액 표시 부분이 렌더링 되지 않음 ⇒ 원인 : 값을 useRef로 만듦 ⇒ useEffect로 useRef 값을 변경 ⇒ 그럼 당연히 렌더링 되지 않음 ⇒ state로 변경
⇒ 해결 (await로 비동기 순서 설정)
onClick={async () => {
await setBasketList({ type: 'haveItem' });
await setItemInMine(() => {
for (let i = 0; i < basketList.itemInList.length; i++) {
if (
itemInMine.itemInList.includes(basketList.itemInList[i])
) {
itemInMine.itemInMineCount[
basketList.itemInList[i].name
] += basketList.count[basketList.itemInList[i].name];
} else {
itemInMine.itemInList.push(basketList.itemInList[i]);
itemInMine.itemInMineCount[
basketList.itemInList[i].name
] += basketList.count[basketList.itemInList[i].name];
}
}
return {
...itemInMine,
};
});
}}