не может получить данные с сервера в 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
Другие вопросы по тегам