@Vitalionus

Почему не меняется state?

const store = new Vuex.Store({
  state: {
    test_value: null,
  },
  mutations: {
    set_test_value(state, n) {
      state.test_value = n;
    },
  },
  getters: {
    get_test_value: state => state.test_value,
  },
  actions: {
    reg_test_value({ commit }) {
      axios.post('/site')
        .then((response) => {
          if (response.data) {
            state.test_value = response.data.test_value; // response.data.test_value = 999
            // или commit('set_test_value', response.data.test_value)
            // пробовал и так и так
          }
        });
    },
  },
  modules: {
  },
});

В компоненте делаю store.dispatch('reg_test_value');
Вижу запрос отправляется, но данные не присваиваются и не обновляются, если пробую вывести
store.getters.get_test_value получаю NULL
Но если вывожу store.getters то вижу что там есть get_test_value и она ровна 999
Получается как бы записывается, но когда получаю то приходят старые данные? В чем причина?
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro
frontend developer
if (response.data) {
  commit('set_test_value', response.data.test_value)
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы