Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 화살표함수
- properties
- boolean
- 함수표현식
- 논리연산자
- typeof
- javascript
- 조건문
- 반복문
- Methods
- 타입
- for in
- for
- flex-wrap
- if else
- justify-content
- 속성
- 비교연산자
- 변수
- ELSE
- 함수선언식
- 프론트엔드
- flex-direction
- 기초
- 함수
- frontend
- flex
- 문자열
- align-content
- for of
Archives
- Today
- Total
하얀 코딩
[React - 19] React Query - useQuery 본문
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 |