이미지 캐러셀에 데이터 연결하기
장소 상세정보 가져오기
useRouter의 router.query.placeId
로 읽어와도 똑같은 문제!
하지만 next에서는 useParams 보다 useRouter를 쓰는 것이 좋다고 하셔서
useRouter 는 그대로 뒀음!
쿼리 키에 추가 정보를 담아서 요청!
쿼리키에 기본 키와 추가적인 정보(placeId)를 함께 담으면
추가정보의 값이 변하면 다시 데이터를 요청한다!
그래서 처음 페이지가 렌더링 될 때 undefined 였던 placeId에
제대로 된 정보가 들어오면 다시 데이터를 요청하기 때문에
렌더링 오류가 없어짐!
// 기존코드
const { data: reviews, isLoading: reviewLoading } = useQuery({
queryKey: ['reviews'],
queryFn: () => getReviewByPlaceId(placeId),
});
// 바꾼 코드
const { data: reviews, isLoading: reviewLoading } = useQuery({
queryKey: ['reviews', placeId],
queryFn: () => getReviewByPlaceId(placeId),
});
프로젝트를 진행할 수록 끝판왕은 타입스크립트라는 것을 느낌...
타입에러.. 미치겠다 🤪