Add support useQuery Suspense #206
-
|
Vue query suspense <script setup>
import SuspendableComponent from './SuspendableComponent.vue'
</script>
<template>
<Suspense>
<template #default>
<SuspendableComponent />
</template>
<template #fallback>
<div>Loading...</div>
</template>
</Suspense>
</template><script>
import { defineComponent } from 'vue'
import { useQuery } from '@tanstack/vue-query'
const todoFetcher = async () =>
await fetch('https://jsonplaceholder.cypress.io/todos').then((response) =>
response.json(),
)
export default defineComponent({
name: 'SuspendableComponent',
async setup() {
const { data, suspense } = useQuery({
key: () => ['todos'],
query: () => todoFetcher(),
})
await suspense()
return { data }
},
})
</script> |
Beta Was this translation helpful? Give feedback.
Answered by
posva
Mar 6, 2025
Replies: 1 comment 1 reply
-
|
In practice, it's better to not use Suspense (https://pinia-colada.esm.dev/nuxt.html#SSR) because it's unnecessary. You can however |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
posva
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In practice, it's better to not use Suspense (https://pinia-colada.esm.dev/nuxt.html#SSR) because it's unnecessary. You can however
await refresh()(instead ofawait suspense())