Dans Vue3, le changement d'état racine a cessé de fonctionner

Dans Vue3, le changement d'état racine a cessé de fonctionner

Mes mutations qui modifient l'état racine ont cessé de fonctionner

 SET_STATE(state, payload) {
    state = { ...state, ...payload };
 }

Mais la modification de la valeur interne fonctionne

SET_INNER_STATE(state, payload) {
   state.inner = payload;
}
Montrez la meilleure réponse

Il n'y a pas de "mutations" dans Vue. Est-ce Vuex ? Cela devrait être mentionné

Ce state = ... modifie la variable locale d'état (paramètre), il ne peut affecter rien de ce qui se passe en dehors de cette fonction.

{ ...state, ...payload } ne devrait pas être fait dans Vue car il ne force pas l'état immuable de la même manière que React.

L'état initial doit généralement être défini lors de l'initialisation du magasin. Si cela devait se produire plus tard pour une raison quelconque, il devrait être fusionné avec l'objet d'état existant. La fusion peu profonde peut être :

Object.assign(state, payload);