React Academy · Ders

Redux Toolkit Dilimleri ve createSlice

createSlice ile reducer mantığı oluşturun, eylemleri tanımlayın ve Redux store'una bağlayın.

1. ders / 413 adım

Redux Toolkit Dilimleri ve createSlice, 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 createSlice ile Redux Toolkit parçaları oluşturacak, eylemleri ve durum azaltıcılarını tek bir yerde tanımlayacak ve bunları bir Redux store'una bağlayacaksınız.

Redux Toolkit Nedir?

Redux Toolkit (RTK), Redux yazmanın resmî ve belirli yaklaşımları benimseyen yoludur. Durum azaltıcıları, eylem oluşturucuları ve başlangıç durumunu tek bir createSlice() çağrısında birleştirerek şablon kodu ortadan kaldırır.

Kurulum

Redux Toolkit ve react-redux'ı kurun.
npm install @reduxjs/toolkit react-redux

createSlice

Bir ad, initialState ve reducers nesnesiyle createSlice() çağırın. RTK, eylem oluşturucuları ve eylem türlerini otomatik olarak üretir.
import { createSlice } from '@reduxjs/toolkit';

const counterSlice = createSlice({
  name: 'counter',
  initialState: { value: 0 },
  reducers: {
    increment: state => { state.value += 1; },
    decrement: state => { state.value -= 1; },
    incrementBy: (state, action) => { state.value += action.payload; },
  },
});

export const { increment, decrement, incrementBy } = counterSlice.actions;
export default counterSlice.reducer;

Immer Perde Arkasında

RTK, dahili olarak Immer kullandığı için durumu değiştiren reducer mantığını (`state.value += 1`) güvenle yazabilirsiniz. Immer, bunu perde arkasında değişmez bir güncellemeye dönüştürür.

Durum Deposunu Yapılandırma

configureStore() ile Redux durum deposunu oluşturun ve dilimlerinizi reducer olarak ekleyin.
import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './counterSlice';

export const store = configureStore({
  reducer: {
    counter: counterReducer,
  },
});

Durum Deposunu Sağlama

Uygulamanızı react-redux içindeki Provider ile sarın ve store değerini sağlayın.
import { Provider } from 'react-redux';
import { store } from './store';

createRoot(document.getElementById('root')).render(
  <Provider store={store}><App /></Provider>
);

useSelector ve useDispatch

Durumu useSelector ile okuyun ve eylemleri useDispatch ile gönderin. TypeScript için türleri belirtilmiş sürümleri kullanın.
import { useSelector, useDispatch } from 'react-redux';

function Counter() {
  const value = useSelector(state => state.counter.value);
  const dispatch = useDispatch();
  return (
    <>
      <p>{value}</p>
      <button onClick={() => dispatch(increment())}>+</button>
      <button onClick={() => dispatch(incrementBy(5))}>+5</button>
    </>
  );
}

TypeScript Türleri

Tam tür denetimli kancalar için RootState ve AppDispatch türlerini store.ts dosyasından dışa aktarın.
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
// Then use typed hooks:
const value = useSelector((s: RootState) => s.counter.value);

Ek Reducer'lar

extraReducers alanı, diğer dilimlerdeki veya createAsyncThunk tarafından oluşturulan eylemleri işler. Durumları eklemek için oluşturucu geri çağırma kalıbını kullanın.
extraReducers: (builder) => {
  builder.addCase(fetchUser.fulfilled, (state, action) => {
    state.user = action.payload;
  });
}

Hızlı Kontrol

Bir Redux Toolkit reducer'ı içinde `state.value += 1` gibi durumu değiştiren kodu neden yazabilirsiniz?

Özet

createSlice, name, initialState ve reducers değerlerini tek bir nesnede birleştirir. Immer, değiştirilebilir tarzda reducer kodu yazmanızı sağlar. configureStore dilimleri bir araya getirir. useSelector durumu okur; useDispatch eylemleri gönderir.

Sırada

Sonraki ders: **createAsyncThunk ile Eşzamansız Mantık** — Redux'ta API çağrılarını yaşam döngüsü eylem türleriyle yöneteceksiniz.
Başlamak ücretsiz

Yapay zeka eğitmeniyle React öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
88
Dersler
324

Sıkça Sorulan Sorular

“Redux Toolkit Dilimleri ve createSlice” dersi ücretsiz mi?

Evet — “Redux Toolkit Dilimleri ve createSlice” 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.

“Redux Toolkit Dilimleri ve createSlice” dersinde ne öğreneceğim?

createSlice ile reducer mantığı oluşturun, eylemleri tanımlayın ve Redux store'una bağlayı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.

“Redux Toolkit Dilimleri ve createSlice” 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