✅ 문제 상황
react-query를 사용하던 중 Missing queryFn 오류가 났다.
한 개의 게시물에 달린 댓글을 가져오는 useQuery를 작성하던 중이었다.
import { useQuery } from "react-query";
async function fetchComments(postId) {
const response = await fetch(
`https://jsonplaceholder.typicode.com/comments?postId=${postId}`
);
return response.json();
}
export function PostDetail({ post }) {
const { data, error, isError, isLoading } = useQuery(["post", post.id], fetchComments(post.id));
if (isLoading) return <div>Loading...</div>;
if (isError)
return (
<>
{error.toString()}
<div>Error...</div>
</>
);
return (
<>
<h3 style={{ color: "blue" }}>{post.title}</h3>
<button>Delete</button> <button>Update title</button>
<p>{post.body}</p>
<h4>Comments</h4>
{data.map((comment) => (
<li key={comment.id}>
{comment.email}: {comment.body}
</li>
))}
</>
);
}
✅ 해결 방법
바로 실행해 주는 화살표를 추가해 주면 오류가 해결된다.
const { data, error, isError, isLoading } = useQuery(["post", post.id], () =>
fetchComments(post.id)
);
오류 없이 댓글을 가져오는 것을 볼 수 있다.
'🍞 Front-End > React' 카테고리의 다른 글
[React] Recoil-persist 사용해보기 (0) | 2023.02.03 |
---|---|
[React] CORS 에러 해결하기 (0) | 2023.01.30 |
[React] react-hook-form 버전 오류 (0) | 2023.01.11 |
[React] React-query에 대해서 알아보자 (0) | 2023.01.05 |
[React] React-slick 캐러셀 구현 모듈 (0) | 2023.01.04 |