export const loader = async (queryClient: QueryClient) => {
let post: Post | undefined
try {
post = queryClient.getQueryData(postQuery(1).queryKey)
if (!post) {
post = await queryClient.fetchQuery(postQuery(1))
}
} catch (error) {
queryClient.resetQueries(postQuery(slug).queryKey)
throw new Response("Not Found", { status: 404 })
}
return post
}
export const PostView = () => {
const { data: post } = useQuery<PostData>(postQuery(1)) // fetching post again
const loaderPostData = queryClient.getQueryData(postQuery(1).queryKey) // returns fetched post in loader
return (
...
)
}
export const loader = async (queryClient: QueryClient) => {
let post: Post | undefined
try {
post = queryClient.getQueryData(postQuery(1).queryKey)
if (!post) {
post = await queryClient.fetchQuery(postQuery(1))
}
} catch (error) {
queryClient.resetQueries(postQuery(slug).queryKey)
throw new Response("Not Found", { status: 404 })
}
return post
}
export const PostView = () => {
const { data: post } = useQuery<PostData>(postQuery(1)) // fetching post again
const loaderPostData = queryClient.getQueryData(postQuery(1).queryKey) // returns fetched post in loader
return (
...
)
}