Heim >Web-Frontend >js-Tutorial >Daten mit Redux verwalten: Inhalte und IDs in Slices speichern
Redux ist eine beliebte Zustandsverwaltungsbibliothek für JavaScript-Anwendungen, insbesondere solche, die mit Frameworks wie React erstellt wurden. Eines der Kernkonzepte von Redux ist die Idee eines zentralen Speichers, der den Status Ihrer Anwendung speichert. In diesem Artikel wird untersucht, wie Sie Daten mithilfe von Redux effektiv verwalten können, indem Sie die Inhaltsspeicherung mithilfe von Slices von der Listenverwaltung trennen.
In Redux ist ein Slice eine Sammlung von Reduzierungslogik und -aktionen für eine bestimmte Funktion oder Domäne Ihrer Anwendung. Durch die Verwendung von Slices können Sie Ihren Status logisch organisieren und so Ihre Anwendung einfacher verwalten und skalieren. Sie könnten beispielsweise separate Slices für Benutzerdaten, Beiträge, Kommentare und alle anderen Entitäten in Ihrer Anwendung haben.
In Redux helfen Slices dabei, Ihren Zustand effektiv zu strukturieren. Beim Verwalten einer Blog-Anwendung können Sie die Speicherung von Beitragsinhalten von den Listen der Beitrags-IDs trennen. Diese Trennung ermöglicht eine effiziente Darstellung und Aktualisierung von Daten.
Um sowohl den Inhalt Ihrer Beiträge als auch die Listen, die auf diese Beiträge verweisen, effektiv zu verwalten, können wir unseren Redux-Status in zwei Teile strukturieren:
Eine einfache Struktur zum Verwalten von Beiträgen:
{ "posts": { "byId": { "1": { "id": "1", "title": "First Post", "content": "This is the first post." }, "2": { "id": "2", "title": "Second Post", "content": "This is the second post." } }, "allIds": ["1", "2"], "recentIds": ["2"] } }
In diesem Beispiel besteht das Posts-Slice aus:
Erstellen Sie ein Segment zum Verwalten von Beiträgen:
import { createSlice } from '@reduxjs/toolkit'; const postsSlice = createSlice({ name: 'posts', initialState: { byId: {}, allIds: [], recentIds: [] }, reducers: { addPost: (state, { payload }) => { state.byId[payload.id] = payload; state.allIds.push(payload.id); state.recentIds.push(payload.id); }, removePost: (state, { payload }) => { delete state.byId[payload]; state.allIds = state.allIds.filter(id => id !== payload); state.recentIds = state.recentIds.filter(id => id !== payload); } } });
Beiträge in Ihren Komponenten abrufen:
const allPosts = useSelector(state => state.posts.allIds.map(id => state.posts.byId[id])); const recentPosts = useSelector(state => state.posts.recentIds.map(id => state.posts.byId[id]));
Dieser Ansatz ermöglicht es Ihnen, Inhaltsspeicherung und ID-Verwaltung zu trennen, wodurch es einfacher wird, den Status Ihrer Anwendung mit Redux zu verwalten und darauf zuzugreifen.
Das obige ist der detaillierte Inhalt vonDaten mit Redux verwalten: Inhalte und IDs in Slices speichern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!