React Native Academy · Lektion

Redux-Store und Provider einrichten

Installieren Sie @reduxjs/toolkit und react-redux, konfigurieren Sie den Store mit configureStore und umschließen Sie die App mit einem Provider, damit der Store global verfügbar ist.

Lektion 1 von 413 Schritte

Redux-Store und Provider einrichten ist eine kostenlose React Native 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 Native Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Native Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist Redux Toolkit?

Redux Toolkit (RTK) ist heute die offizielle und empfohlene Methode zum Schreiben von Redux-Logik. Es beseitigt den umfangreichen Boilerplate-Code des klassischen Redux, indem es Hilfsfunktionen wie configureStore, createSlice und createAsyncThunk bereitstellt. RTK enthält standardmäßig bewährte Vorgehensweisen, etwa Immer für unveränderliche Aktualisierungen und die Integration der Redux DevTools.

Erforderliche Pakete installieren

Für den Einstieg in Redux Toolkit mit React Native benötigen Sie zwei Pakete: @reduxjs/toolkit stellt die zentralen Hilfsfunktionen bereit, und react-redux stellt die React-Anbindung bereit. Installieren Sie beide mit einem einzigen Befehl; anschließend können Sie sie sofort verwenden.

npm install @reduxjs/toolkit react-redux

Den Store konfigurieren

Der Store ist die zentrale Quelle der Wahrheit für den gesamten Redux-Anwendungsstatus. Sie erstellen ihn mit configureStore und übergeben ein reducer-Objekt, das Slice-Namen ihren Reducer-Funktionen zuordnet. RTK richtet automatisch die Redux DevTools ein und aktiviert empfohlene Middleware wie redux-thunk.

import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './features/counter/counterSlice';

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

export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;

Die App mit Provider umschließen

Die Provider-Komponente aus react-redux macht den Redux-Store für jede Komponente im React-Native-Komponentenbaum verfügbar. Umschließen Sie Ihre Root-Komponente oder bei Verwendung von React Navigation den NavigationContainer mit <Provider store={store}>. Jede Komponente innerhalb des Baums kann anschließend über Hooks auf den Store zugreifen.

import React from 'react';
import { Provider } from 'react-redux';
import { store } from './store';
import AppNavigator from './navigation/AppNavigator';

export default function App() {
  return (
    <Provider store={store}>
      <AppNavigator />
    </Provider>
  );
}

Den Redux-Datenfluss verstehen

Redux erzwingt einen strikten unidirektionalen Datenfluss: Die Benutzeroberfläche dispatcht eine action, der reducer verarbeitet diese Aktion und erzeugt einen neuen Status, der Store speichert den neuen Status und die Benutzeroberfläche rendert sich entsprechend erneut. Dieser vorhersehbare Ablauf erleichtert Debugging und Tests, weil sich jede Statusänderung auf eine bestimmte Aktion zurückführen lässt.

Typisierte Hooks für TypeScript

In TypeScript-Projekten ist es empfehlenswert, typisierte Versionen von useDispatch und useSelector zu erstellen, damit Sie in der gesamten App Autovervollständigung und Typsicherheit erhalten. Exportieren Sie useAppDispatch und useAppSelector aus einer Hooks-Datei und importieren Sie diese in Ihren Komponenten statt der ursprünglichen Hooks.

import { useDispatch, useSelector } from 'react-redux';
import type { RootState, AppDispatch } from './store';

export const useAppDispatch = () => useDispatch<AppDispatch>();
export const useAppSelector = <T>(selector: (state: RootState) => T): T =>
  useSelector(selector);

Das Reducer-Objekt in configureStore

Der Schlüssel reducer in configureStore akzeptiert ein Objekt, in dem jeder Schlüssel zu einem Slice-Namen im globalen Status wird. Wenn Sie beispielsweise { counter: counterReducer, user: userReducer } übergeben, hat Ihr Status die Struktur { counter: {...}, user: {...} }. Sie können jederzeit weitere Slices hinzufügen, ohne vorhandene Slices zu ändern.

export const store = configureStore({
  reducer: {
    counter: counterReducer,
    user: userReducer,
    products: productsReducer,
  },
});

Redux-DevTools-Integration

configureStore aktiviert im Entwicklungsmodus automatisch die Browsererweiterung Redux DevTools. Mit den DevTools können Sie den aktuellen Status untersuchen, jede dispatchte Aktion anzeigen und sogar zu einem vorherigen Status-Snapshot zurückkehren. Das ist einer der größten Vorteile von Redux beim Debugging gegenüber einfachem useState.

Standard-Middleware in Redux Toolkit

RTKs configureStore fügt standardmäßig mehrere Middleware hinzu: redux-thunk für asynchrone Action-Creator, eine serializability check-Middleware, die warnt, wenn nicht serialisierbare Werte (z. B. Funktionen oder Klasseninstanzen) im State abgelegt werden, sowie eine immutability check-Middleware, die warnt, wenn der State direkt verändert wird. Sie können dies mit der Option middleware anpassen.

import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit';

export const store = configureStore({
  reducer: { counter: counterReducer },
  middleware: (getDefaultMiddleware) =>
    getDefaultMiddleware({
      serializableCheck: false,
    }),
});

Den Store-Ordner organisieren

Eine übersichtliche Ordnerstruktur erleichtert die Wartung von Redux-Apps. Üblicherweise gibt es einen Ordner store/ mit einer Datei index.ts für die Store-Konfiguration und einen Unterordner features/, in dem jedes Feature seine eigene Slice-Datei hat. Zum Beispiel: store/features/counter/counterSlice.ts. Halten Sie Slice-Dateien klein und konzentrieren Sie sie auf ein einzelnes Domänenkonzept.

src/
  store/
    index.ts          // configureStore + exports
    hooks.ts          // useAppDispatch, useAppSelector
    features/
      counter/
        counterSlice.ts
      user/
        userSlice.ts

Überprüfen, ob der Store verbunden ist

Eine schnelle Plausibilitätsprüfung nach dem Einrichten des Providers besteht darin, in der Store-Datei store.getState() zu protokollieren. Dadurch wird der initiale State in der Konsole ausgegeben und bestätigt, dass die Reducer-Zuordnung korrekt strukturiert ist. Sobald Sie die erwartete Struktur sehen — zum Beispiel { counter: { value: 0 } } — wissen Sie, dass der Store bereit ist, von Komponenten gelesen und beschrieben zu werden.

import { store } from './store';
console.log('Initial state:', store.getState());
// Output: { counter: { value: 0 }, user: { name: null } }

Kurzer Test

Testen Sie Ihr Verständnis der Konzepte zur Entwicklung mobiler Anwendungen mit React Native aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: Redux Toolkit reduziert Boilerplate-Code mit configureStore und integrierter Middleware, die Provider-Komponente macht den Store im gesamten Komponentenbaum zugänglich, und typisierte Hooks (useAppDispatch, useAppSelector) sorgen für TypeScript-Sicherheit in Ihrem Redux-Code. Als Nächstes sehen wir uns an, wie Sie mit createSlice Slices erstellen.

Kostenlos starten

Lerne JavaScript mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Redux-Store und Provider einrichten“ kostenlos?

Ja — der vollständige Text von „Redux-Store und Provider einrichten“ 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 Native Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Native Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Redux-Store und Provider einrichten“?

Installieren Sie @reduxjs/toolkit und react-redux, konfigurieren Sie den Store mit configureStore und umschließen Sie die App mit einem Provider, damit der Store global verfügbar ist. Du übst React Native 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 Native Academy zu starten?

Keine Vorkenntnisse erforderlich. React Native 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-Store und Provider einrichten“?

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 Native Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Native 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-Store und Provider einrichten
  2. Slices mit createSlice erstellen
  3. State mit useSelector auslesen
  4. Asynchrone Thunks mit createAsyncThunk
← Zurück zu React Native Academy