Explorez les moyens de modifier les valeurs du tableau dans les tranches Redux Store
P粉197639753
P粉197639753 2023-08-30 11:35:40
0
1
348

J'ai un Slice pour stocker des informations de localisation. J'ai déclaré deux fonctions, set et setLocation. La fonction set accepte un tableau d'emplacements et la fonction setLocation doit définir un emplacement.

Il s'agit d'exemples de données stockées dans la variable locations :

const locations = [{name : '1', index : 0}, {name : '2', index : 1}];
;

Voici mon code de tranche :

importer { createSlice } depuis '@reduxjs/toolkit' exporter const locationsSlice = createSlice({ nom : « emplacements », Etat initial: { emplacements : nul, }, réducteurs : { set : (état, emplacements) => state.locations = emplacements.charge utile }, setLocation : (état, emplacement) => state.locations[location.index] = emplacement } }, }) export const { set, setLocation } = emplacementsSlice.actions exporter les emplacements par défautSlice.reducer

L'appel à set(locations) est valide. Mais lorsque location est une valeur dans le tableau locations, je ne peux pas utiliser setLocation(location) pour remplacer un seul emplacement dans le tableau locations. Lorsque j'utilise console.log(state.location) dans la fonction setLocation(), j'obtiens des objets proxy.

P粉197639753
P粉197639753

répondre à tous (1)
P粉248602298

Vous êtes làsetLocation操作中得到Proxy的问题是因为在搜索特定位置时,你传递了location.index,但你应该传递location.payload.index.

setLocation: (state, location) => { state.locations[location.payload.index] = location }
    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!