@@ -1317,7 +1317,7 @@ const useSuperHeroData = (heroId: string) => {
131713171. TQueryFnData: useQuery๋ก ์คํํ๋ query function์ ` ์คํ ๊ฒฐ๊ณผ` ์ ํ์
์ ์ง์ ํ๋ ์ ๋ค๋ฆญ ํ์
์ด๋ค.
131813182. TError: query function์ ` error` ํ์์ ์ ํ๋ ์ ๋ค๋ฆญ ํ์
์ด๋ค.
131913193. TData: useQuery์ ` data์ ๋ด๊ธฐ๋ ์ค์ง์ ์ธ ๋ฐ์ดํฐ` ์ ํ์
์ ๋งํ๋ค. ์ฒซ ๋ฒ์งธ ์ ๋ค๋ฆญ๊ณผ์ ์ฐจ์ด์ ์ ` select` ์ ๊ฐ์ด query function์ ๋ฐํ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ ํธ๋ค๋ง์ ํตํด ๋ฐํํ๋ ๊ฒฝ์ฐ์ ๋์ํ ์ ์๋ ํ์
์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ข๋ค.
1320- 4. TQueryKey: useQuery์ ์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ฃผ๋ ` queryKey` ์ ํ์
์ ๋ช
์์ ์ผ๋ก ์ง์ ํด์ฃผ๋ ์ ๋ค๋ฆญ ํ์
์ด๋ค.
1320+ 4. TQueryKey: useQuery์ ์ฒซ ๋ฒ์งธ ์ธ์ ` queryKey` ์ ํ์
์ ๋ช
์์ ์ผ๋ก ์ง์ ํด์ฃผ๋ ์ ๋ค๋ฆญ ํ์
์ด๋ค.
13211321
13221322` ` ` ts
13231323// useQuery์ ํ์
@@ -1342,11 +1342,14 @@ const { data } = useQuery<
13421342 return superHeroNames;
13431343 },
13441344});
1345- ```
13461345
1347- - data: `SuperHeroName[]`
1348- - error: `AxiosError<any, any>`
1349- - select: `(data: SuperHeros): SuperHeroName[]`
1346+ /**
1347+ ์ฃผ์ ํ์
1348+ * data: `SuperHeroName[]`
1349+ * error: `AxiosError<any, any>`
1350+ * select: `(data: SuperHeros): SuperHeroName[]`
1351+ */
1352+ ```
13501353
13511354<br />
13521355
@@ -1383,13 +1386,63 @@ const { mutate } = useMutation<Todo, AxiosError, number, number>(postTodo, {
13831386const onClick = () => {
13841387 mutate (5 );
13851388};
1386- ` ` `
13871389
1388- - data: ` Todo`
1389- - error: ` AxiosError< any, any> `
1390- - onSuccess: ` (res: Todo, id: number, nextId: number)`
1391- - onError: ` (err: AxiosError, id: number, nextId: number)`
1392- - onMutate: ` (id: number)`
1393- - onSettled: ` (res: Todo, err: AxiosError, id: number, nextId: number)` ,
1390+ /**
1391+ ์ฃผ์ ํ์
1392+ * data: `Todo`
1393+ * error: `AxiosError<any, any>`
1394+ * onSuccess: `(res: Todo, id: number, nextId: number)`
1395+ * onError: `(err: AxiosError, id: number, nextId: number)`
1396+ * onMutate: `(id: number)`
1397+ * onSettled: `(res: Todo, err: AxiosError, id: number, nextId: number)`,
1398+ */
1399+ ` ` `
13941400
13951401<br />
1402+
1403+ ### useInfiniteQuery
1404+
1405+ ํ์ฌ useInfiniteQuery ๊ฐ๊ณ ์๋ ์ ๋ค๋ฆญ์ ` 4 ๊ฐ` ์ด๋ฉฐ, useQuery์ ์ ์ฌํ๋ค.
1406+
1407+ 1. TQueryFnData: useInfiniteQuery๋ก ์คํํ๋ query function์ ` ์คํ ๊ฒฐ๊ณผ` ์ ํ์
์ ์ง์ ํ๋ ์ ๋ค๋ฆญ ํ์
์ด๋ค.
1408+ 2. TError: query function์ ` error` ํ์์ ์ ํ๋ ์ ๋ค๋ฆญ ํ์
์ด๋ค.
1409+ 3. TData: useInfiniteQuery์ ` data์ ๋ด๊ธฐ๋ ์ค์ง์ ์ธ ๋ฐ์ดํฐ` ์ ํ์
์ ๋งํ๋ค. ์ฒซ ๋ฒ์งธ ์ ๋ค๋ฆญ๊ณผ์ ์ฐจ์ด์ ์ ` select` ์ ๊ฐ์ด query function์ ๋ฐํ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ ํธ๋ค๋ง์ ํตํด ๋ฐํํ๋ ๊ฒฝ์ฐ์ ๋์ํ ์ ์๋ ํ์
์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ข๋ค.
1410+ 4. TQueryKey: useInfiniteQuery์ ์ฒซ ๋ฒ์งธ ์ธ์ ` queryKey` ์ ํ์
์ ๋ช
์์ ์ผ๋ก ์ง์ ํด์ฃผ๋ ์ ๋ค๋ฆญ ํ์
์ด๋ค.
1411+
1412+ ` ` ` ts
1413+ export function useInfiniteQuery<
1414+ TQueryFnData = unknown,
1415+ TError = unknown,
1416+ TData = TQueryFnData,
1417+ TQueryKey extends QueryKey = QueryKey
1418+ >
1419+ ```
1420+
1421+ ```tsx
1422+ const fetchColors = async ({ pageParam }) => {
1423+ const { page = 1 , etc } = pageParam;
1424+
1425+ return await axios .get (` http://localhost:4000/colors?_limit=2&_page=${ page} ` );
1426+ };
1427+
1428+ const { mutate } = useInfiniteQuery< Colors, AxiosError, Colors, [" colors" ]> (
1429+ [" colors" ],
1430+ ({ pageParam = 0 }) => {
1431+ fetchColors ({ page: pageParam });
1432+ },
1433+ {
1434+ getNextPageParam : (lastPage ) => {
1435+ return allPages .length < 4 && allPages .length + 1 ;
1436+ },
1437+ ... options,
1438+ }
1439+ );
1440+
1441+ /**
1442+ ์ฃผ์ ํ์
1443+ * data: InfiniteData<ModelListResponse>
1444+ * error: `AxiosError<any, any>`
1445+ * select: InfiniteData<ModelListResponse>
1446+ * getNextPageParam: GetNextPageParamFunction<Colors>
1447+ */
1448+ ` ` `
0 commit comments