Chaque attribut a-t-il besoin d'un réducteur ?
P粉124070451
P粉124070451 2023-08-17 14:47:45
0
1
367

Je suis ce tutoriel pour incrémenter un nombre.

Cela fonctionne, mais maintenant je souhaite l'implémenter sur environ 100 valeurs de configuration. Dois-je copier counterSlice.js 100 fois ou dois-je remplacer le numéro par un objet avec 100 propriétés ?

counterSlice.js

export const counterSlice = createSlice({ nom : 'compteur', Etat initial: { valeur : 0, }, réducteurs : { incrément : (état) => // Redux Toolkit nous permet d'écrire une logique de "modification" dans les réducteurs. Cela ne change pas réellement l'état car il utilise la bibliothèque Immer, // Il détecte les modifications apportées à « l'état brouillon » et génère un tout nouvel état immuable basé sur ces modifications. // De plus, ces fonctions ne nécessitent pas d'instruction return. état.valeur += 1 }, décrémenter : (état) => état.valeur -= 1 }, incrémentByAmount : (état, action) => état.value += action.payload }, }, }) // Générer des créateurs d'actions pour chaque fonction de réduction de cas export const {incrément, décrément, incrémentByAmount } = counterSlice.actions exporter counterSlice.reducer


P粉124070451
P粉124070451

répondre à tous (1)
P粉404539732

Dans certains cas, il peut être judicieux de créer explicitement des fonctions pour chaque champ de statut. Mais si vous disposez d’une centaine de champs de statut, vous devez alors adopter une approche plus générale.

Je recommande d'inclure un champkeyvaluedans la charge utile de la fonction de réduction.

export const configSlice = createSlice({ name: 'config', initialState: {}, reducers: { setConfigValue: (state, action) => { const { key, value } = action.payload; state[key] = value; }, }, })

    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!