Maison > interface Web > js tutoriel > le corps du texte

Gestion des données avec Redux : stockage du contenu et des identifiants dans des tranches

Linda Hamilton
Libérer: 2024-10-26 20:33:29
original
994 Les gens l'ont consulté

Managing Data with Redux: Storing Content and IDs in Slices

Redux est une bibliothèque de gestion d'état populaire pour les applications JavaScript, en particulier celles construites avec des frameworks comme React. L'un des concepts fondamentaux de Redux est l'idée d'un magasin centralisé contenant l'état de votre application. Cet article explique comment gérer efficacement les données à l'aide de Redux en séparant le stockage de contenu de la gestion des listes grâce à l'utilisation de tranches.

Comprendre les tranches Redux

Dans Redux, une tranche est un ensemble de logiques et d'actions réductrices pour une fonctionnalité ou un domaine spécifique de votre application. L'utilisation de tranches permet d'organiser votre état de manière logique, ce qui facilite la gestion et la mise à l'échelle de votre application. Par exemple, vous pouvez avoir des tranches distinctes pour les données utilisateur, les publications, les commentaires et toute autre entité dans votre application.

Aperçu du concept

Dans Redux, les tranches aident à structurer efficacement votre état. Lors de la gestion d'une application de blog, vous pouvez séparer le stockage du contenu des publications des listes d'identifiants de publication. Cette séparation permet un rendu et une mise à jour efficaces des données.

Structurer votre État

Pour gérer efficacement à la fois le contenu de vos publications et les listes qui référencent ces publications, nous pouvons structurer notre état Redux en deux parties :

  1. Tranche de publications : cette tranche stockera le contenu réel de vos publications.
  2. Tranche IDs : cette tranche gérera les identifiants des publications, qui peuvent être utilisés pour diverses listes comme toutes les publications et les publications récentes.

Structure de l'État

Une structure simple pour gérer les publications :

{
  "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"]
  }
}
Copier après la connexion

Dans cet exemple, la tranche de publications se compose de :

  • byId : un objet mappant les identifiants de publication à leur contenu respectif.
  • allIds : un tableau contenant les identifiants de toutes les publications, utile pour afficher une page "Tous les messages".
  • recentIds : Un tableau contenant les identifiants des publications récentes, utile pour un bloc "Messages récents".

Configuration des tranches

Créez une tranche pour gérer les publications :

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);
    }
  }
});
Copier après la connexion

Accéder aux données

Récupérez les publications dans vos composants :

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]));
Copier après la connexion

Avantages de cette approche

  • Séparation des préoccupations : garder le contenu et la liste des identifiants séparés permet de gérer les données plus efficacement, en particulier à mesure que l'application évolue.
  • Efficacité : en gérant les identifiants séparément, vous pouvez facilement mettre à jour ou afficher des listes sans avoir à manipuler l'ensemble de données.
  • Flexibilité : vous pouvez facilement modifier la façon dont vous affichez les données en modifiant simplement les identifiants dans vos listes sans altérer le contenu sous-jacent.

Cette approche vous permet de séparer le stockage de contenu et la gestion des identifiants, ce qui facilite la maintenance et l'accès à l'état de votre application avec Redux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!