gpt4 book ai didi

javascript - 使用 Vuex 4 在 Vue 3 中设置状态数据不起作用

转载 作者:行者123 更新时间:2023-12-05 00:31:33 24 4
gpt4 key购买 nike

我正在使用 Vuex 4 学习 Vue 3,我被一些我很确定它很简单但我看不到的东西困住了。
简而言之,我试图在 state 中设置一些数据让它可以在我的组件中使用它,但它不起作用。
让我给你看一下代码:
///store.js

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

const store = createStore({
state: {
user: {},
products: []
},
mutations: {
SET_USER: (state, user) => {
state.user = user;
},
SET_PRODUCTS: (state, products) => {
state.products = products;
},
},
actions: {
GET_USER: async function ({ commit }) {
const user = await axios.get('https://coding-challenge-api.aerolab.co/user/me')
commit('SET_USER', user)
},
GET_PRODUCTS: async function ({ commit }) {
const products = await axios.get('https://coding-challenge-api.aerolab.co/products')
commit('SET_PRODUCTS', products)
},
}
})

export default store;
///我的组件.vue
<template>
<div class='bg-aerolab-main'>
{{ user }} {{ productsTest }}
</div>
</template>

import { computed } from "vue";
import { useStore } from 'vuex';

export default {
setup() {
const store = useStore();
const user = computed(() => store.state.user);
const productsTest = computed(() => store.state.products);
console.log(user);
console.log(productsTest);

return {
user,
productsTest
};
}
}
///main.js
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
import axios from 'axios'
import VueAxios from 'vue-axios';
import store from './store';

const app = createApp(App)
app.use(VueAxios, axios)
app.use(store)
app.mount('#app')
当然是 {{ users }}{{ productsTest }}绑定(bind)不显示任何数据以及console.logs。
PD:我试图直接在我的组件中获取数据并且它正在工作,因此它与从 API 获取的数据无关。

最佳答案

您必须在挂载的钩子(Hook)中调度该操作:

import { computed , onMounted} from "vue";
import { useStore } from 'vuex';

export default{
setup() {
const store = useStore();
const user = computed(() => store.state.user);
const productsTest = computed(() => store.state.products);

onMounted(()=>{
store.dispatch('GET_USER');
store.dispatch('GET_PRODUCTS');
})
return {
user,
productsTest
};
}
}

关于javascript - 使用 Vuex 4 在 Vue 3 中设置状态数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66845766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com