[react]reactqueryコンセプトクリーンアップ
7666 ワード
react query
:reactアプリケーションからサーバステータスの取得、キャッシュ、同期、更新を支援するライブラリ
(React Query is often described as the missing data-fetching library for React, but in more technical terms, it makes fetching, caching, synchronizing and updating server state in your React applications a breeze.)
正式な書類
https://react-query.tanstack.com/overview
コメントブログ
https://merrily-code.tistory.com/76
set up
インストールコマンド
npm i react-query
親コンポーネント(index.js)コードsetup
次のコードの例は、正式なドキュメントから来ています.import { QueryClient, QueryClientProvider, useQuery } from 'react-query'
const queryClient = new QueryClient()
export default function App() {
return (
<QueryClientProvider client={queryClient}>
<Example />
</QueryClientProvider>
)
}
Example component function Example() {
const { isLoading, error, data } = useQuery('repoData', () =>
fetch('https://api.github.com/repos/tannerlinsley/react-query').then(res =>
res.json()
)
)
//fetch 부분 따로 component분리 가능
if (isLoading) return 'Loading...'
if (error) return 'An error has occurred: ' + error.message
return (
<div>
<h1>{data.name}</h1>
<p>{data.description}</p>
<strong>👀 {data.subscribers_count}</strong>{' '}
<strong>✨ {data.stargazers_count}</strong>{' '}
<strong>🍴 {data.forks_count}</strong>
</div>
)
}
サンプル結果
react queryの利点
1)userState,userEffectなどのコードを圧縮する.
2)fetcher関数を素子として分離することができる.
3)キャッシュ(キャッシュにデータを格納する)により、データ損失を防ぐことができます.
useQuery
:React Query hook
:React Queryクエリーキーに基づいてクエリーキャッシュを管理するconst { isLoading, data } = useQuery("Query-key" , fetcher funtion);
React-Query公式ドキュメントを参照してください
https://react-query.tanstack.com/reference/useQuery#_top
「符号化されていないデコーダ」を参照
#4.9 React Query part One
Reference
この問題について([react]reactqueryコンセプトクリーンアップ), 我々は、より多くの情報をここで見つけました
https://velog.io/@natural_min/react-query
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import { QueryClient, QueryClientProvider, useQuery } from 'react-query'
const queryClient = new QueryClient()
export default function App() {
return (
<QueryClientProvider client={queryClient}>
<Example />
</QueryClientProvider>
)
}
function Example() {
const { isLoading, error, data } = useQuery('repoData', () =>
fetch('https://api.github.com/repos/tannerlinsley/react-query').then(res =>
res.json()
)
)
//fetch 부분 따로 component분리 가능
if (isLoading) return 'Loading...'
if (error) return 'An error has occurred: ' + error.message
return (
<div>
<h1>{data.name}</h1>
<p>{data.description}</p>
<strong>👀 {data.subscribers_count}</strong>{' '}
<strong>✨ {data.stargazers_count}</strong>{' '}
<strong>🍴 {data.forks_count}</strong>
</div>
)
}
const { isLoading, data } = useQuery("Query-key" , fetcher funtion);
Reference
この問題について([react]reactqueryコンセプトクリーンアップ), 我々は、より多くの情報をここで見つけました https://velog.io/@natural_min/react-queryテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol