0Pricing
React Academy · Ders

RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma

createApi ile sorgu ve değişiklik uç noktalarını tanımlayın, önbelleğe almayı RTK Query'ye bırakın.

RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 3. 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 RTK Sorgusu'nun createApi işleviyle sorgu ve değişiklik uç noktaları tanımlayacak; önbelleğe almayı, yüklenme durumlarını ve veri getirmeyi otomatik olarak yöneteceksiniz.

RTK Sorgusu Nedir?

RTK Sorgusu, Redux Toolkit'e yerleşik bir veri getirme ve önbelleğe alma katmanıdır. Elle yüklenme ve hata durumu yönetme gereğini ortadan kaldırır, istekleri yinelenmekten kurtarır ve yanıtları uç nokta ile argümana göre önbelleğe alır.

createApi ile API Oluşturma

createApi() işlevini reducerPath, baseQuery ve endpoints değerleriyle çağırın. Sonuç, oluşturulmuş React kancalarını içerir.
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';

export const userApi = createApi({
  reducerPath: 'userApi',
  baseQuery: fetchBaseQuery({ baseUrl: '/api' }),
  endpoints: (builder) => ({
    getUser: builder.query({ query: (id) => '/users/' + id }),
    getUsers: builder.query({ query: () => '/users' }),
  }),
});

export const { useGetUserQuery, useGetUsersQuery } = userApi;

API'yi Durum Deposuna Ekleme

Oluşturulan reducer'ı ve ara yazılımı configureStore'a ekleyin. Ara yazılım; önbellek yaşam döngüsünü, geçersiz kılmayı ve yeniden veri getirmeyi yönetir.
import { configureStore } from '@reduxjs/toolkit';
import { userApi } from './userApi';

export const store = configureStore({
  reducer: { [userApi.reducerPath]: userApi.reducer },
  middleware: (gDM) => gDM().concat(userApi.middleware),
});

Sorgu Kancası Kullanma

Oluşturulan kancayı bir bileşende çağırın. Bu kanca data, isLoading, isError ve yeniden getirme değerlerini döndürür. Veriler argümana göre önbelleğe alınır; aynı argümanla çağrılan aynı kanca, önbelleğe alınmış veriyi anında döndürür.
function UserCard({ id }) {
  const { data, isLoading, isError } = useGetUserQuery(id);
  if (isLoading) return <Spinner />;
  if (isError) return <p>Error</p>;
  return <p>{data.name}</p>;
}

Otomatik Yinelenen İstekleri Önleme

İki bileşen aynı anda oluşturulur ve useGetUsersQuery() işlevini çağırırsa RTK Sorgusu yalnızca bir ağ isteği gönderir ve yanıtı her iki bileşen arasında paylaşır.

keepUnusedDataFor ile Önbellek TTL'si

Tüm aboneler bileşenlerden ayrıldıktan sonra önbelleğe alınmış verilerin durum deposunda ne kadar süre kalacağını denetleyin. Varsayılan süre 60 saniyedir. Bu değeri her uç nokta için ayrı ayrı ayarlayın.
endpoints: (builder) => ({
  getUser: builder.query({
    query: id => '/users/' + id,
    keepUnusedDataFor: 300, // 5 minutes
  }),
})

Canlı Veriler için Yoklama

Kancayı çağırırken `pollingInterval` değerini aktararak verilerin her N milisaniyede bir otomatik olarak yeniden getirilmesini sağlayın. Panolar ve canlı akışlar için kullanışlıdır.
const { data } = useGetStatsQuery(undefined, {
  pollingInterval: 5000, // refetch every 5 seconds
});

Sorgu Argümanları ve Atlatma

Bir sorguyu koşullu olarak atlamak için tanımsız değer aktarın veya `skip` seçeneğini kullanın. Gerekli kimlikler henüz kullanıma hazır olmadığında kullanışlıdır.
const { data } = useGetUserQuery(userId, { skip: !userId });

Yanıtları Dönüştürme

Önbelleğe almadan önce uygulama programlama arayüzü yanıtının biçimini değiştirmek için `transformResponse` kullanın. Böylece bileşenler temiz kalır; ham arayüz biçimi yerine işlenmiş bir biçim alırlar.
getUsers: builder.query({
  query: () => '/users',
  transformResponse: (raw) => raw.data.users,
})

Hızlı Kontrol

İki bileşen aynı RTK Sorgusu kancasını aynı argümanla aynı anda çağırırsa ne olur?

Özet

createApi uç noktaları tanımlar ve türleri belirtilmiş kancalar oluşturur. Reducer'ı ve ara yazılımı durum deposuna ekleyin. Sorgu kancaları data, isLoading ve isError değerlerini döndürür. Yanıtlar otomatik olarak önbelleğe alınır ve yinelenen istekler önlenir.

Sırada

Sonraki ders: **İyimser Güncellemeler ve Önbellek Geçersiz Kılma** — değişiklik sırasında kullanıcı arayüzünü anında güncelleyecek ve önbelleğe alınmış verileri etiketlerle geçersiz kılacaksınız.

Sıkça Sorulan Sorular

“RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma” dersi ücretsiz mi?

Evet — “RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma” 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.

“RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma” dersinde ne öğreneceğim?

createApi ile sorgu ve değişiklik uç noktalarını tanımlayın, önbelleğe almayı RTK Query'ye bırakı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 3. dersidir.

“RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma” 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. Redux Toolkit Dilimleri ve createSlice
  2. createAsyncThunk ile Asenkron Mantık
  3. RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma
  4. İyimser Güncellemeler ve Önbellek Geçersiz Kılma
← React Academy Sayfasına Dön