0Pricing
React Academy · Ders

React Query ve QueryClient Kurulumu

TanStack Query'yi kurun, uygulamanızı QueryClientProvider ile sarın ve ilk useQuery'nizi çalıştırın.

React Query ve QueryClient Kurulumu, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Bu derste TanStack Query'yi kuracak, QueryClient ve QueryClientProvider'ı yapılandıracak ve bir API'den veri almak için ilk useQuery çağrınızı çalıştıracaksınız.

React Query Nedir?

TanStack Query (eski adıyla React Query), sunucu durumunu yönetir: uzak kaynaklardan veri alma, önbelleğe alma, eşitleme ve güncelleme işlemlerini gerçekleştirir. Elle yükleme/hata durumu yönetiminin ve useEffect tabanlı veri almanın yerini alır.

Kurulum

Temel paketi ve isteğe bağlı olarak DevTools'u kurun.
npm install @tanstack/react-query
npm install @tanstack/react-query-devtools --save-dev

QueryClient Oluşturma

Tüm önbelleğe alma ve yapılandırma bilgilerini tutacak bir QueryClient örneği oluşturun. Bunu uygulamanızı saran QueryClientProvider'a aktarın.
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';

const queryClient = new QueryClient();

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

İlk useQuery'niz

Bir queryKey dizisi ve verileri döndüren bir queryFn ile useQuery'yi çağırın. Anahtar, önbelleğe alınan girdiyi benzersiz şekilde tanımlar.
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>;
}

Sorgu Anahtarları

Sorgu anahtarları dizilerdir. Önbellek girdisinin kapsamını belirlemek için anahtara parametreler ekleyin. Farklı anahtarlar, farklı önbellek girdileri anlamına gelir.
// 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: /* ... */ })

Sorgu Durumu

useQuery birden çok durum özelliği döndürür: `isLoading`, `isFetching`, `isError`, `isSuccess`, `data` ve `error`. `isFetching`, arka planda yeniden alma işlemleri için de true olur; `isLoading` ise yalnızca ilk yüklemede true olur.

React Query DevTools

Geliştirme sırasında uygulamanıza ReactQueryDevtools ekleyerek tüm önbellek girdilerini, bunların durumlarını ve en son ne zaman alındıklarını görün. Bu, hata ayıklama için son derece değerlidir.
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';

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

Varsayılan Yapılandırma

QueryClient üzerinde genel varsayılanları yapılandırın: staleTime, gcTime (çöp toplama), yeniden deneme sayısı ve refetchOnWindowFocus.
const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      staleTime: 60_000,     // data is fresh for 60s
      retry: 2,              // retry failed queries twice
      refetchOnWindowFocus: false,
    },
  },
});

Otomatik Yeniden Veri Alma

Varsayılan olarak React Query, eski verileri şu durumlarda yeniden alır: pencere yeniden odaklandığında, bileşen yeniden bağlandığında ve ağ yeniden bağlandığında. Bunlar her sorgu için ayrı ayrı yapılandırılabilir.

Hızlı Kontrol

useQuery içindeki queryKey dizisinin amacı nedir?

Özet

@tanstack/react-query'yi kurun, QueryClient oluşturun, uygulamanızı QueryClientProvider ile sarın ve queryKey ile queryFn kullanarak useQuery'yi çağırın. Görünürlük için DevTools'u ekleyin. QueryClient üzerindeki genel varsayılanları yapılandırın.

Sıradaki

Sıradaki ders: **Önbelleğe Alma, Eski Kalma Süresi ve Arka Planda Yeniden Veri Alma** — verilerin ne zaman yeniden alınacağını denetlemek için staleTime ve gcTime'i yapılandıracaksınız.

Sıkça Sorulan Sorular

“React Query ve QueryClient Kurulumu” dersi ücretsiz mi?

Evet — “React Query ve QueryClient Kurulumu” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“React Query ve QueryClient Kurulumu” dersinde ne öğreneceğim?

TanStack Query'yi kurun, uygulamanızı QueryClientProvider ile sarın ve ilk useQuery'nizi çalıştırın. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“React Query ve QueryClient Kurulumu” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. React Query ve QueryClient Kurulumu
  2. Önbelleğe Alma, Eski Veri Süresi ve Arka Planda Yeniden Getirme
  3. useMutation ile Değişiklikler
  4. useInfiniteQuery ile Sonsuz Kaydırma ve Sayfalama
← React Academy Sayfasına Dön