0Pricing
React Academy · Lektion

Redux Toolkit Slices und createSlice

Erstellen Sie mit createSlice Reducer-Logik, definieren Sie Actions und verbinden Sie sie mit dem Redux-Store.

Redux Toolkit Slices und createSlice ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

In dieser Lektion erstellen Sie mit createSlice Redux-Toolkit-Slices, definieren Actions und Reducer an einer Stelle und verbinden sie mit einem Redux-Store.

Was ist Redux Toolkit?

Redux Toolkit (RTK) ist die offizielle, konventionsbasierte Art, Redux zu schreiben. Es beseitigt Boilerplate, indem es Reducer, Action-Creator und Ausgangszustand in einem einzigen Aufruf von createSlice() zusammenfasst.

Installation

Installieren Sie Redux Toolkit und react-redux.
npm install @reduxjs/toolkit react-redux

createSlice

Rufen Sie createSlice() mit name, initialState und einem reducers-Objekt auf. RTK erzeugt automatisch Action-Creator und Action-Typen.
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 im Hintergrund

RTK verwendet intern Immer, sodass Sie sicher Reducer-Logik mit Mutationen (`state.value += 1`) schreiben können. Immer wandelt sie im Hintergrund in eine unveränderliche Aktualisierung um.

Den Store konfigurieren

Erstellen Sie den Redux-Store mit configureStore() und fügen Sie Ihre Slices als Reducer hinzu.
import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './counterSlice';

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

Den Store bereitstellen

Umschließen Sie Ihre App mit einem Provider aus react-redux und übergeben Sie den Store.
import { Provider } from 'react-redux';
import { store } from './store';

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

useSelector und useDispatch

Lesen Sie den State mit useSelector und dispatchen Sie Actions mit useDispatch. Verwenden Sie für TypeScript typisierte Varianten.
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-Typen

Exportieren Sie die Typen RootState und AppDispatch aus store.ts, um vollständig typisierte Hooks zu erhalten.
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);

Zusätzliche Reducer

Das Feld extraReducers verarbeitet Actions aus anderen Slices oder von createAsyncThunk. Verwenden Sie das Builder-Callback-Muster, um Cases hinzuzufügen.
extraReducers: (builder) => {
  builder.addCase(fetchUser.fulfilled, (state, action) => {
    state.user = action.payload;
  });
}

Kurztest

Warum können Sie in einem Redux-Toolkit-Reducer mutierenden Code wie `state.value += 1` schreiben?

Zusammenfassung

createSlice fasst name, initialState und reducers in einem Objekt zusammen. Immer ermöglicht Reducer-Code im Stil von Mutationen. configureStore setzt die Slices zusammen. useSelector liest den State; useDispatch dispatcht Actions.

Als Nächstes

Nächste Lektion: **Asynchrone Logik mit createAsyncThunk** — Sie verarbeiten API-Aufrufe in Redux mit den Lifecycle-Action-Typen.

Häufig gestellte Fragen

Ist die Lektion „Redux Toolkit Slices und createSlice“ kostenlos?

Ja — der vollständige Text von „Redux Toolkit Slices und createSlice“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Redux Toolkit Slices und createSlice“?

Erstellen Sie mit createSlice Reducer-Logik, definieren Sie Actions und verbinden Sie sie mit dem Redux-Store. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Redux Toolkit Slices und createSlice“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Redux Toolkit Slices und createSlice
  2. Asynchrone Logik mit createAsyncThunk
  3. RTK Query: Endpoints und automatisches Caching
  4. Optimistische Updates und Cache-Invalidierung
← Zurück zu React Academy