반응형
Map을 돌리면서 유저가 북마크한 경우 북마크에 불이 들어와야하는데
북마크를 했음에도 불이들어오지 않았다.
확인을 하니 map은 모든 리스트를 돌기 때문에 불이 들어왔다가도 나머지 리스트를 돌면서 조건에 맞지 않기 때문에 불이 들어오지 않았다. map에서는 중간에 멈출수가 없어 for문으로 유저가 북마크했을 경우 break를 걸어주었다.
// 페이지 렌딩시 유저의 북마크 유무 확인
// 카카오로 로그인 시에도 북마크 추가 잘됨
const fetchBookmarks = async () => {
const { data } = await axios.get(`${JSON_API}/BookMarkList`); // 북마크 리스트
for (let i = 0; i < data.length; i++) {
if (
data[i].user === currentUser.uid &&
data[i].store === detailData?.id
) {
// 유저가 북마크를 했음
setChangeColor(`${COLORS.orange2}`);
setBookMarkState(true);
setCurrentBookMarkId(currentUser.uid + detailData?.id);
break;
} else {
// 북마크안했음
setChangeColor(`${COLORS.gray5}`);
setBookMarkState(false);
}
};
};
반응형
'개발 일지 > TIL' 카테고리의 다른 글
[ Typescript ] 글로벌 모달 (0) | 2023.02.16 |
---|---|
[ Project ] 프로젝트 피드백 (0) | 2023.02.10 |
[ React ] React Datepicker (0) | 2023.02.09 |
[ React ] React Calendar (0) | 2023.02.08 |
[ React ] React.memo (0) | 2023.02.06 |
댓글