Query Options
queryKey์ queryFn์ ์ฌ๋ฌ ๊ณณ ์ฌ์ด์ ๊ณต์ ํ๋ฉด์๋
์๋ก ๊ฐ์ ์์น์ ๋ ์ ์๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ ์ค ํ๋๋ queryOptions ๋์ฐ๋ฏธ(helper)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
๋ฐํ์์, ์ด ๋์ฐ๋ฏธ๋ ์ ๋ฌํ๋ ๋ชจ๋ ๊ฒ์ ๋ฐํํ ๋ฟ์ด์ง๋ง, TypeScript์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ง์ ์ด์ ์ ์ป์ ์ ์๋ค.
Query์ ๋ํด ๊ฐ๋ฅํ ๋ชจ๋ ์ต์
์ ํ ๊ณณ์์ ์ ์ํ ์ ์์ผ๋ฉฐ,
๋ชจ๋ ํ์
์ ๋ํ ํ์
์ถ๋ก ๋ฐ ํ์
์์ ์ฑ๋ ์ป์ ์ ์๋ค.
1import { queryOptions } from '@tanstack/react-query'23function groupOptions(id: number) {4return queryOptions({5queryKey: ['groups', id],6queryFn: () => fetchGroups(id),7staleTime: 5 * 1000,8})9}1011// usage:1213useQuery(groupOptions(1))14useSuspenseQuery(groupOptions(5))15useQueries({16queries: [groupOptions(1), groupOptions(2)],17})18queryClient.prefetchQuery(groupOptions(23))19queryClient.setQueryData(groupOptions(42).queryKey, newGroups)
Infinite Queries์ ๊ฒฝ์ฐ infiniteQueryOptions์ด๋ผ๋ ๋ณ๋์ ๋์ฐ๋ฏธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.