source

변환 상태가 업데이트되지 않음

factcode 2023. 6. 28. 22:00
반응형

변환 상태가 업데이트되지 않음

변환을 커밋했지만 사용자 상태가 업데이트되지 않고 null을 반환합니다.

변환된 데이터를 수신합니다. xios 호출이 사용자를 반환하지만 상태를 업데이트하지 않습니다.

export default new Vuex.Store({
    state: {
        user: null
    },
    getters: {
        getUser: state => {
            return state.user;
        }
    },
    mutations: {
        setUser(state, user) {
            let url = domain + "user";
            axios
                .get(url, {
                    params: {
                        uuid: user.uid
                    }
                })
                .then(res => {
                    Vue.set(state, user, res.data)
                      // tried    state.user = res.data

                })
                .catch(err => {
                    console.log(err);
                });
        }
    },
    actions: {
        setUser(context, user) {
            context.commit('setUser', user);
        }
    }
})

제가 무엇을 잘못했나요?도와주셔서 감사합니다.

모든 비동기 작업은 작업에서 수행되어야 하며 변환은 가능한 한 단순해야 합니다.이 경우 당신은 당신의 논리를 돌연변이에서 행동으로 옮겨야 합니다.이와 같은 것:

export default new Vuex.Store({
    state: {
        user: null
    },
    getters: {
        getUser: state => {
            return state.user;
        }
    },
    mutations: {
        setUser(state, user) {
            Vue.set(state, 'user', user)
        }
    },
    actions: {
        getUser(context, user) {
            let url = domain + "user";
            axios.get(url, {
                params: {
                    uuid: user.uid
                }
            }).then(res => {
                context.commit('setUser', res.data)

            }).catch(err => {
                console.log(err);
            });
        }
    }
})

언급URL : https://stackoverflow.com/questions/55923946/mutation-not-updating-state

반응형