File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 505026 . [ 사용자 경험(UX)을 올려주는 Optimistic Updates(낙관적 업데이트)] ( #optimistic-update )
515127 . [ 에러가 발생했을 때 Fallback UI를 선언적으로 보여주기 위한 ErrorBoundary + useQueryErrorResetBoundary] ( #usequeryerrorresetboundary )
525228 . [ 서버 로딩중일 때 Fallback UI를 선언적으로 보여주기 위한 Suspense] ( #suspense )
53- 29 . [ 리액트 쿼리에 타입스크립트 적용] ( #react-query-typescript )
53+ 29 . [ 앱의 기본 쿼리를 설정하는 Default Query Function] ( #default-query-function )
54+ 30 . [ 리액트 쿼리에 타입스크립트 적용] ( #react-query-typescript )
5455
5556<br />
5657
@@ -1252,6 +1253,47 @@ function App() {
12521253
12531254<br />
12541255
1256+ ## Default Query Function
1257+
1258+ [목차 이동](#주요-컨셉-및-가이드-목차)
1259+
1260+ - 앱 전체에서 사용하는 동일한 쿼리에서 ` queryKey` 를 사용해 가져와야 할 데이터를 식별하고 싶다면 ` QueryClient` 에 ` queryFn` 옵션을 통해 Default Query Function을 지정해 줄 수 있다.
1261+ - [Default Query Function v4](https://tanstack.com/query/v4/docs/react/guides/default-query-function)
1262+
1263+ ` ` ` jsx
1264+ // 기본 쿼리 함수
1265+ const getSuperHero = async ({ queryKey }: any ) => {
1266+ return await axios .get (` http://localhost:4000/${ queryKey[0 ]} ` );
1267+ };
1268+
1269+ const queryClient = new QueryClient ({
1270+ defaultOptions: {
1271+ queries: {
1272+ queryFn: getSuperHero,
1273+ },
1274+ },
1275+ });
1276+ ` ` `
1277+
1278+ - ` QueryClient` 에 앱 전체에서 사용할 쿼리 함수를 지정해 준다.
1279+
1280+ ` ` ` jsx
1281+ // 사용 예시 (1)
1282+ const useSuperHeroData = () => {
1283+ return useQuery ([" superheroes" ]); // 2번째 인자에 queryFn을 넣지 않는다.
1284+ };
1285+
1286+ // 사용 예시 (2)
1287+ const useSuperHeroDetailData = (heroId : string ) => {
1288+ return useQuery ([` superheroes/${ heroId} ` ]);
1289+ };
1290+ ` ` `
1291+
1292+ - useQuery의 첫 번째 인자로 ` queryKey` 만 넣어주면 두 번째 인자에 들어갈 ` queryFn` 은 자동으로 설정된 기본 쿼리 함수가 들어간다.
1293+ - 일반적으로 ` useQuery` 를 사용할 때와 달리 ` queryFn` 을 지정하지 않기에 쿼리 함수에 직접 인자를 넣어주는 형태의 사용은 불가능하다.
1294+
1295+ <br />
1296+
12551297## React Query Typescript
12561298
12571299[목차 이동](#주요-컨셉-및-가이드-목차)
You can’t perform that action at this time.
0 commit comments