Capítulo 69 de 80
Same options/returns as useQuery minus the three that don't make sense under Suspense (throwOnError, enabled, placeholderData) — data is guaranteed defined, status collapses to just 'success' | 'error', and cancellation doesn't work.
throwOnError (suspense mode always throws to the boundary by design); enabled (can't conditionally suspend — see Suspense chapter for the workaround); placeholderData (no suspense equivalent).useQuery: data is always defined at the type level; isPlaceholderData doesn't exist; status only ever reports 'success' or 'error' (never 'pending', since Suspense/the fallback handles that state instead).const { data } = useSuspenseQuery({ queryKey, queryFn }) // data: Post (never undefined)
data this hook exists to provide.enabled/placeholderData/throwOnError here — restructure with conditional rendering or startTransition instead (see the Suspense guide).status here only distinguishes success/error — loading is handled entirely by the surrounding <Suspense> boundary.