React Academy · पाठ

React Query और QueryClient सेट अप करना

TanStack Query इंस्टॉल करें, अपने ऐप को QueryClientProvider में रैप करें और अपना पहला useQuery चलाएँ।

पाठ 1, कुल 4 में से13 चरण

React Query और QueryClient सेट अप करना, CoddyKit पर React Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह React Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत है

इस पाठ में आप TanStack Query इंस्टॉल करेंगे, QueryClient और QueryClientProvider सेट अप करेंगे और एपीआई से डेटा लाने के लिए अपना पहला useQuery चलाएँगे।

React Query क्या है

TanStack Query (जिसे पहले React Query कहा जाता था) सर्वर स्थिति का प्रबंधन करता है: दूरस्थ स्रोतों से डेटा लाना, कैश करना, सिंक्रोनाइज़ करना और अपडेट करना। यह मैन्युअल लोडिंग/त्रुटि स्थिति और useEffect-आधारित डेटा लाने की प्रक्रिया की जगह लेता है।

इंस्टॉलेशन

मुख्य पैकेज इंस्टॉल करें और चाहें तो DevTools भी इंस्टॉल करें।
npm install @tanstack/react-query
npm install @tanstack/react-query-devtools --save-dev

QueryClient बनाना

सभी कैशिंग और कॉन्फ़िगरेशन को रखने के लिए QueryClient इंस्टेंस बनाएँ। इसे QueryClientProvider में पास करें, जो आपके ऐप को रैप करता है।
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';

const queryClient = new QueryClient();

createRoot(document.getElementById('root')).render(
  <QueryClientProvider client={queryClient}>
    <App />
  </QueryClientProvider>
);

आपका पहला useQuery

queryKey ऐरे और डेटा लौटाने वाले queryFn के साथ useQuery कॉल करें। यह कुंजी कैश की गई प्रविष्टि की विशिष्ट पहचान करती है।
import { useQuery } from '@tanstack/react-query';

function Posts() {
  const { data, isLoading, isError } = useQuery({
    queryKey: ['posts'],
    queryFn: () => fetch('/api/posts').then(r => r.json()),
  });

  if (isLoading) return <p>Loading...</p>;
  if (isError) return <p>Error!</p>;
  return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}

क्वेरी कुंजियाँ

क्वेरी कुंजियाँ ऐरे होती हैं। कैश प्रविष्टि का दायरा निर्धारित करने के लिए कुंजी में पैरामीटर जोड़ें। अलग कुंजियाँ = अलग कैश प्रविष्टियाँ।
// All posts
useQuery({ queryKey: ['posts'], queryFn: fetchPosts })

// Post with id 5
useQuery({ queryKey: ['posts', 5], queryFn: () => fetchPost(5) })

// Posts filtered by category
useQuery({ queryKey: ['posts', { category: 'react' }], queryFn: /* ... */ })

क्वेरी स्थिति

useQuery कई स्थिति प्रॉपर्टी लौटाता है: `isLoading`, `isFetching`, `isError`, `isSuccess`, `data` और `error`। बैकग्राउंड में दोबारा डेटा लाने पर भी `isFetching` true होता है; `isLoading` केवल पहली बार डेटा लाते समय true होता है।

React Query DevTools

विकास के दौरान अपने ऐप में ReactQueryDevtools जोड़ें, ताकि आप सभी कैश प्रविष्टियाँ, उनकी स्थिति और उन्हें पिछली बार कब लाया गया था, देख सकें। डीबगिंग के लिए यह बेहद उपयोगी है।
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';

<QueryClientProvider client={queryClient}>
  <App />
  <ReactQueryDevtools initialIsOpen={false} />
</QueryClientProvider>

डिफ़ॉल्ट कॉन्फ़िगरेशन

QueryClient पर वैश्विक डिफ़ॉल्ट कॉन्फ़िगर करें: staleTime, gcTime (गार्बेज कलेक्शन), retry की संख्या और refetchOnWindowFocus।
const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      staleTime: 60_000,     // data is fresh for 60s
      retry: 2,              // retry failed queries twice
      refetchOnWindowFocus: false,
    },
  },
});

स्वचालित रूप से दोबारा डेटा लाना

डिफ़ॉल्ट रूप से React Query पुराना डेटा फिर से तब लाता है जब विंडो पर दोबारा फ़ोकस आता है, कंपोनेंट फिर से माउंट होता है और नेटवर्क दोबारा जुड़ता है। इन्हें प्रत्येक क्वेरी पर अलग-अलग कॉन्फ़िगर किया जा सकता है।

त्वरित जाँच

useQuery में queryKey ऐरे का उद्देश्य क्या है?

पुनरावृत्ति

@tanstack/react-query इंस्टॉल करें, QueryClient बनाएँ, अपने ऐप को QueryClientProvider से रैप करें और queryKey तथा queryFn के साथ useQuery कॉल करें। दृश्यता के लिए DevTools जोड़ें। QueryClient पर वैश्विक डिफ़ॉल्ट कॉन्फ़िगर करें।

आगे

अगला पाठ: **कैशिंग, Stale Time और बैकग्राउंड में दोबारा डेटा लाना** — डेटा दोबारा कब लाया जाए, इसे नियंत्रित करने के लिए आप staleTime और gcTime कॉन्फ़िगर करेंगे।
शुरुआत निःशुल्क

एआई शिक्षक के साथ React सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
88
पाठ
324

अक्सर पूछे जाने वाले प्रश्न

क्या “React Query और QueryClient सेट अप करना” पाठ निःशुल्क है?

हाँ—“React Query और QueryClient सेट अप करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और React Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“React Query और QueryClient सेट अप करना” में मैं क्या सीखूँगा?

TanStack Query इंस्टॉल करें, अपने ऐप को QueryClientProvider में रैप करें और अपना पहला useQuery चलाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ React Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या React Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर React Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“React Query और QueryClient सेट अप करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस React Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर React Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. React Query और QueryClient सेट अप करना
  2. कैशिंग, पुराना समय और बैकग्राउंड रीफ़ेचिंग
  3. useMutation से म्यूटेशन
  4. useInfiniteQuery से अनंत स्क्रोल और पृष्ठांकन
← React Academy पर वापस जाएँ