fix: in SSR not returning precached data immediately
Publish Nightlies / build (push) Has been cancelled

This commit is contained in:
Fabians Geikins
2026-02-27 13:12:45 +02:00
parent c2f831acf7
commit 7166f2f2a9
@@ -286,10 +286,15 @@ export function useQueryImpl<
// Make the cache data available to the component immediately
// This prevents SSR hydration mismatches
if (!isServer && (firstStart || !currentOptions.value?.keepPreviousResult) && (currentOptions.value?.fetchPolicy !== 'no-cache' || currentOptions.value.notifyOnNetworkStatusChange)) {
if ((firstStart || !currentOptions.value?.keepPreviousResult) && (currentOptions.value?.fetchPolicy !== 'no-cache' || currentOptions.value.notifyOnNetworkStatusChange)) {
const currentResult = query.value.getCurrentResult(false)
if (!currentResult.loading || currentResult.partial || currentOptions.value?.notifyOnNetworkStatusChange) {
// SSR: Allow reusing cached results
// CSR: Allow showing cached results immediately, but also show loading state if the query is currently loading and not showing partial data
const ssrCheck = isServer && currentOptions.value?.prefetch !== false && !currentResult.loading
const csrCheck = !isServer && (!currentResult.loading || currentResult.partial || currentOptions.value?.notifyOnNetworkStatusChange)
if (ssrCheck || csrCheck) {
onNextResult(currentResult)
ignoreNextResult = !currentResult.loading
}