TanStack Query v4 TS/JS, React, Solid, Vue 및 Svelte를 위한 강력한 비동기 상태 관리
리액트 쿼리 V4를 배워봅시다.
React Query는 종종 React에 대한 누락된 데이터 가져오기 라이브러리로 설명됩니다. 그러나 더 기술적인 측면에서 보면 React 애플리케이션에서 서버 상태를 가져오고, 캐싱하고, 동기화하고, 업데이트하는 것이 쉬워집니다.
쿼리에 반응하는 이유는 무엇입니까?
-> 자주 언급되는 React 쿼리는 서버 데이터의 상태 관리에 사용되며 react 쿼리를 사용하면 코드를 적게 작성해야 하므로 redux 툴킷의 대안이기도 합니다.
react-query로 시작하여 react-query에서 제공하는 컨텍스트 공급자를 제공해야 합니다. 그런 다음 react-query에서 제공하는 후크를 사용할 수 있습니다. 예제를 살펴보겠습니다.
app.js 파일에서 다음과 같은 방법으로 구성합니다.
import {
useQueryClient,
QueryClient,
QueryClientProvider,
} from '@tanstack/react-query'
// Create a client
const queryClient = new QueryClient()
export function App() {
return (
// Provide the client to your App
<QueryClientProvider client={queryClient}>
//out app goes here......
</QueryClientProvider>
)
}
이제 구성 요소 내에서 데이터에 액세스할 수 있습니다.
따라서 구성 요소 Products.js에서 데이터를 가져오려면
`가져오기 {
사용 쿼리,
} '@tanstack/react-query'에서
'../my-api'에서 { getProducts } 가져오기
함수 제품() {
//쿼리
const {data , isLoading , isError} = useQuery(['제품'], getProducts)
if(isLoading) return "로드 중..."
if(isError)는 "오류 ..."를 반환합니다.
//그러면 데이터가 성공했다고 가정할 수 있습니다.
반품 (
{데이터?.지도(제품 => (
))}
)
}`
여기에서 캐싱을 제공하는 useQuery 후크 내부의 "제품"으로 고유한 키를 제공했으며 고유해야 합니다.
getProducts 함수는 성공하면 데이터를 반환하고 오류가 있으면 오류를 발생시키는 약속 기반 함수입니다.
여기에서는 다음과 같은 것을 제공하는 react-query에서 useQuery라는 후크를 사용했습니다.
더 많은 방법은 다음과 같습니다. -
이제 데이터 게시를 위해 Next hook을 useMutation으로 사용합니다.
그래서 AddProduct 구성 요소에서
mport {
useMutation,
useQueryClient,
} from '@tanstack/react-query';
const AddProducts = () => {
const [data , setData] = useState('');
// Access the client
const queryClient = useQueryClient();
const mutation = useMutation(mutationFn , {
onSuccess : () => {
// Invalidate and refetch
queryClient.invalidateQueries(['products'])}
}
)
return (
<>
<input value={data} setData={(e) => setData(e.target.value)} />
<button onClick={mutation.mutate(data)}>Submit</button>
</>
)
}
여기서 useMutation 후크는 돌연변이 기능을 사용합니다.
여기서 mutate는 데이터를 가져와 useMutation 후크에 제공하는 콜백 함수입니다.
Reference
이 문제에 관하여(TanStack Query v4 TS/JS, React, Solid, Vue 및 Svelte를 위한 강력한 비동기 상태 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rajivchaulagain/tanstack-query-v4powerful-asynchronous-state-management-for-tsjs-react-solid-vue-and-svelte-2gdl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)