Встречается на собеседованиях • сегодня

Как передать информацию об изменениях одного компонента другому через VUIX

В Vuex можно передавать изменения между компонентами через хранилище (store). Основные способы:

  1. Мутации (mutations) - синхронно изменяют состояние
js
// store.js
mutations: {
  updateData(state, payload) {
    state.someData = payload
  }
}

// ComponentA
this.$store.commit('updateData', newValue)
  1. Действия (actions) - для асинхронных операций
js
// store.js
actions: {
  fetchData({ commit }, payload) {
    api.getData().then(res => {
      commit('updateData', res.data)
    })
  }
}

// ComponentA
this.$store.dispatch('fetchData', params)
  1. Геттеры (getters) - для получения данных в ComponentB
js
computed: {
  someData() {
    return this.$store.getters.someData
  }
}

Для реактивности важно:

  • Инициализировать все свойства состояния заранее
  • Использовать Vue.set() для добавления новых свойств
  • Для массивов использовать методы массива Vuex (push, pop и т.д.)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы