programing

돌연변이가 있는 vuex 상태를 변경하는 방법

luckcodes 2022. 8. 8. 22:17

돌연변이가 있는 vuex 상태를 변경하는 방법

Vuex의 상태를 돌연변이로 바꾸려고 하는 앱을 만들고 있지만, 작동하지 않는 것 같습니다.처음에는state.status빈 문자열입니다.다음으로 갱신하겠습니다.token문자열이기도 한 변수입니다.그래서...updateToken돌연변이 난 이걸 이루기 위해 노력했어저도 이런 걸 해봤어요Vue.set(state, 'status', token);그러나 동작도 하지 않습니다(여기서는 에러가 있었습니다)."Cannot read property 'set' of undefined"송신하려고 할 때token두 번째 변환까지는 아직 비어 있지만 console.log()는 올바른 토큰을 인쇄합니다.

여기 제 것이 있습니다.store.js코드:

import { createStore } from 'vuex';
import axios from "axios"

const msgFormData = new FormData();

const store = createStore({
    state: {
        status: "",
    },
    mutations: {
        updateToken(state, token) {
            state.status = token
        },
        sendToken(state, user_name) {
            msgFormData.set('user_name', user_name);
            msgFormData.append('msg_token', state.status);

            axios.post("http://someip/index.php", msgFormData)
            .then(res => {
                console.log(res.status)
            })
            .catch(error => {
            console.log(error)
            })
        },
    }
});

export default store;

저는 이 돌연변이를 이렇게 부릅니다.this.$store.commit('updateToken', token.value)일부 vue 파일에서this.$store.commit('sendToken', this.user.email)App.vue.

제가 어디서 실수를 하고 있는지 모르겠어요. 누구 좀 도와주실래요?

  1. 다음과 같은 비동기 작업에 변환 대신 작업 사용sendToken
  2. 이동const msgFormData = new FormData();sendToken새로운 인스턴스를 만드는 방법FormData그 방법을 호출할 때마다.

언급URL : https://stackoverflow.com/questions/68261572/how-to-change-vuex-state-with-mutations