React Query κ°λ°μ λꡬλ μ±μ μΆκ°ν μ μλ μ»΄ν¬λνΈλ‘ κ°λ° μ€μΈ λͺ¨λ 쿼리μ μνλ₯Ό νμ ν΄μ€λλ€.
λν μμλλ‘ μλνμ§ μλ κ²½μ° λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λμμ΄ λ μλ μμ΅λλ€.
- 쿼리 ν€λ‘ 쿼리λ₯Ό νμν΄ μ£Όκ³
- νμ±(active), λΉνμ±(inactive), λ§λ£(stale) λ± λͺ¨λ 쿼리μ μνλ₯Ό μλ €μ€λλ€.
- λ§μ§λ§μΌλ‘ μ λ°μ΄νΈλ νμ μ€ν¬νλ μλ €μ€λλ€.
- 쿼리μ μν΄ λ°νλ λ°μ΄ν°λ₯Ό νμν μ μλ λ°μ΄ν° νμκΈ°λ μμ΅λλ€.
- 쿼리λ₯Ό λ³Ό μ μλ 쿼리 νμκΈ°λ μμ΅λλ€.
- 곡μ λ¬Έμ
β κ°λ°μ λꡬ λ¬Έμμμ μ£Όλͺ©νκ³ μΆμ ν κ°μ§
- νλ‘λμ λ²λ€μ ν¬ν¨λμ΄ μμ§ μλ€λ μ μ λλ€.
- NODE_ENV λ³μμ λ°λΌ νλ‘λμ νκ²½μ μλμ§ μ¬λΆκ° κ²°μ λ©λλ€.
- CRA λ npm run build λ₯Ό μ€νν λλ§ NODE_ENV λ³μλ₯Ό production μΌλ‘ μ€μ ν©λλ€.
- κ·Έλ μ§ μμΌλ©΄ development λλ testing μΌλ‘ μ€μ λ©λλ€.
- μ¦, κ°λ° μ€μΌ λλ κ°λ°μ λκ΅¬κ° νμλκ³ νλ‘λμ λλ νμλμ§ μμ΅λλ€.
β μ¬μ©
κ°λ°μ λꡬλ λΉλ μ λ λμ ν¨ν€μ§ κ΄λ¦¬λ₯Ό μν΄ νμ ν¨ν€μ§μμ κ°μ Έμ΅λλ€.
import { ReactQueryDevtools } from "react-query/devtools";
<ReactQueryDevtools/>
- μ λκ°μ§ μ½λλ₯Ό μλ μ²λΌ μΆκ° ν©λλ€.
import { Posts } from "./Posts";
import "./App.css";
import { QueryClient, QueryClientProvider } from 'react-query';
import { ReactQueryDevtools } from "react-query/devtools";
const queryClient = new QueryClient(); // ν΄λΌμ΄μΈνΈκ° μκΈ° λλ¬Έμ provider λ₯Ό μΆκ° ν μ μμ΅λλ€.
function App() {
return (
// provide React Query client to App
<QueryClientProvider client={queryClient}>
<div className="App">
<h1>Blog Posts</h1>
<Posts />
</div>
<ReactQueryDevtools/>
</QueryClientProvider>
);
}
export default App;
β μ μ©ν νλ©΄
- React Query κ½μ΄ 보μ΄λλ° μ΄κ²μ΄ κ°λ°μ λꡬ μ λλ€.
β κ°λ°μ λꡬ
κ½μ ν΄λ¦νλ©΄ κ°λ°μ λꡬλ₯Ό μ΄κ³ λ«κ³ ν μ μμ΅λλ€.
Posts λΌκ³ νλ 쿼리λ₯Ό λ³Ό μ μμ΅λλ€. λν μ°μΈ‘μ 보면 μνκ° λ§λ£(stale) μμ μ μ μμ΅λλ€.
- μ λ°μ΄νΈ μκ°λ λ³Ό μ μκ³
- Data Expolorer μμ μ΄λ€ λ°μ΄ν°κ° μλ μ§ λ³Ό μ μμ΅λλ€.
- Query Expolorer μμ 쿼리λ₯Ό λ³Ό μ μμ΅λλ€. + μ¬λ¬κ°μ§ μ΅μ λ€
β μ°Έκ³
'π Front-End > React.js' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
React Query - 쿼리 ν€ (0) | 2022.10.25 |
---|---|
React Query - staleTime vs cacheTime (0) | 2022.10.25 |
React Query - λ‘λ© λ° μ€λ₯ μν (0) | 2022.10.25 |
React Query - λ§λ€κΈ° (0) | 2022.10.25 |
React Query β (0) | 2022.10.25 |