-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Expand file tree
/
Copy pathBaseExample.svelte
More file actions
32 lines (27 loc) · 930 Bytes
/
BaseExample.svelte
File metadata and controls
32 lines (27 loc) · 930 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<script lang="ts">
import { untrack } from 'svelte'
import { queryKey, sleep } from '@tanstack/query-test-utils'
import { createInfiniteQuery } from '../../src/index.js'
import { setQueryClientContext } from '../../src/context.js'
import type { QueryClient, QueryObserverResult } from '@tanstack/query-core'
let {
queryClient,
states,
}: {
queryClient: QueryClient
states: { value: Array<QueryObserverResult> }
} = $props()
setQueryClientContext(queryClient)
const query = createInfiniteQuery(() => ({
queryKey: queryKey(),
queryFn: ({ pageParam }) => sleep(10).then(() => pageParam),
getNextPageParam: (lastPage) => lastPage + 1,
initialPageParam: 0,
}))
$effect(() => {
// @ts-expect-error
// svelte-ignore state_snapshot_uncloneable
states.value = [...untrack(() => states.value), $state.snapshot(query)]
})
</script>
<div>Status: {query.status}</div>