не может получить данные с сервера в NuxtJS Store
Это мой код:
export const state = () => ({
products: []
});
export const getters = {
getProducts: state => {
return state.products;
}
};
export const mutations = {
SET_IP: (state, payload) => {
state.products = payload;
}
};
export const actions = () => ({
async getIP({ commit }) {
const ip = await this.$axios.$get("http://localhost:8080/products");
commit("SET_IP", ip);
}
});
сервер работает нормально, но я просто не могу получить данные в магазине
1 ответ
Решение
Прежде всего, я настоятельно рекомендую вам переименовать свое действие и мутацию во что-то вроде getProducts
а также SET_PRODUCTS
вместо того ip
. Также убедитесь, что вы изменили имя переменной внутри действия. Хотя это не меняет никаких функций, это упрощает чтение кода.
Во-вторых, можно добавить console.log(ip)
сразу после того, как вы определите const
в действии и посмотрите, получаете ли вы там нужные данные. В большинстве случаев вы захотите назначитьip.data
к вашей переменной.
Наконец, убедитесь, что вы вызываете действие где-нибудь в коде. Делать это нужно так:
this.$store.dispatch('getIP'); // Using your current name
this.$store.dispatch('getProducts'); // Using my recommended name