하얀 코딩

[React - 19] React Query - useQuery 본문

React

[React - 19] React Query - useQuery

whitecoding 2023. 9. 3. 21:40

useQuery는 보통 React에서 데이터 fetching을 위한 라이브러리인 react-query에서 참조됩니다.

react-query는 비동기 데이터의 fetching, caching, synchronization 및 updates를 처리하기 위한 도구를 제공합니다.

useQuery는 가장 기본적인 hook 중 하나로, 원격 데이터를 조회할 때 사용됩니다. 

아래는 useQuery의 기본 사용 방법입니다


react-query 설치하기

npm install react-query

ReactQueryClientProvider 설정하기

import { QueryClient, QueryClientProvider } from 'react-query';

const queryClient = new QueryClient();

function App() {
  return (
    <QueryClientProvider client={queryClient}>
      <YourComponent />
    </QueryClientProvider>
  );
}

useQuery 사용

import { useQuery } from 'react-query';

function YourComponent() {
  const { data, error, isLoading } = useQuery('yourQueryKey', fetchDataFunction);

  if (isLoading) {
    return <span>Loading...</span>;
  }

  if (error) {
    return <span>Error: {error.message}</span>;
  }

  return (
    <div>
      {/* Render your data */}
      {data && <div>{data.someProperty}</div>}
    </div>
  );
}

// 예시 데이터 fetching 함수
async function fetchDataFunction() {
  const response = await fetch('https://api.yourendpoint.com/data');
  if (!response.ok) {
    throw new Error('Network response was not ok');
  }
  return response.json();
}

위 코드에서..

 

yourQueryKey

쿼리의 키로, 캐싱을 위한 식별자 역할을 합니다.


fetchDataFunction

데이터를 가져오는 함수입니다. 이 함수는 Promise를 반환해야 합니다.


data

응답 데이터입니다.

 

error

오류 객체입니다.

 

isLoading

데이터를 로드 중인지의 상태를 나타내는 boolean입니다.

(기본값은 True이며 페칭 함수가 모두 완료 되면 false로 변합니다.)



react-query는 많은 다른 기능과 구성 옵션을 제공하므로, 

공식 문서를 참조하여 더 많은 정보와 사용 방법을 확인하는 것이 좋습니다.

 

 

'React' 카테고리의 다른 글

[React - 18] Link  (0) 2023.08.30
[React - 17] useLocation  (0) 2023.08.30
[React - 16] createBrowserRouter  (0) 2023.08.24
[React - 15] BrowserRouter / Routes / Route  (0) 2023.08.24
[React - 14] useMatch  (0) 2023.08.24