createAsyncThunk ile Asenkron Mantık
API çağrılarını Redux'ta createAsyncThunk ve pending/fulfilled/rejected yaşam döngüsüyle yönetin.
createAsyncThunk ile Asenkron Mantık, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 2. 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
createAsyncThunk Nedir?
Thunk Tanımlama
import { createAsyncThunk } from '@reduxjs/toolkit';
export const fetchUser = createAsyncThunk(
'users/fetchById',
async (userId) => {
const response = await fetch('/api/users/' + userId);
return response.json(); // becomes action.payload on fulfilled
}
);extraReducers İçinde İşleme
extraReducers: (builder) => {
builder
.addCase(fetchUser.pending, state => {
state.loading = true;
state.error = null;
})
.addCase(fetchUser.fulfilled, (state, action) => {
state.loading = false;
state.user = action.payload;
})
.addCase(fetchUser.rejected, (state, action) => {
state.loading = false;
state.error = action.error.message;
});
}Thunk'ı Gönderme
const dispatch = useDispatch();
useEffect(() => {
dispatch(fetchUser(userId));
}, [userId]);Thunk İçinde Duruma Erişme
export const saveItem = createAsyncThunk(
'items/save',
async (item, { getState }) => {
const { auth } = getState();
return fetch('/api/items', {
method: 'POST',
headers: { Authorization: 'Bearer ' + auth.token },
body: JSON.stringify(item),
}).then(r => r.json());
}
);rejectWithValue ile Hataları İşleme
export const fetchData = createAsyncThunk(
'data/fetch',
async (id, { rejectWithValue }) => {
const res = await fetch('/api/' + id);
if (!res.ok) return rejectWithValue({ status: res.status });
return res.json();
}
);
// In rejected case: action.payload.status is availableThunk'ları İptal Etme
async (id, { signal }) => {
const res = await fetch('/api/' + id, { signal });
return res.json();
}Gönderilmiş Bir Thunk'ı Bekleme
const result = await dispatch(saveItem(data));
if (saveItem.fulfilled.match(result)) {
navigate('/success');
}Oluşturucu Gösterimi ve Nesne Gösterimi
Hızlı Kontrol
Özet
Sırada
Sıkça Sorulan Sorular
“createAsyncThunk ile Asenkron Mantık” dersi ücretsiz mi?
Evet — “createAsyncThunk ile Asenkron Mantık” 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.
“createAsyncThunk ile Asenkron Mantık” dersinde ne öğreneceğim?
API çağrılarını Redux'ta createAsyncThunk ve pending/fulfilled/rejected yaşam döngüsüyle yönetin. 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 2. dersidir.
“createAsyncThunk ile Asenkron Mantık” 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
- Redux Toolkit Dilimleri ve createSlice
- createAsyncThunk ile Asenkron Mantık
- RTK Query: Uç Noktalar ve Otomatik Önbelleğe Alma
- İyimser Güncellemeler ve Önbellek Geçersiz Kılma