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

В чем разница между мутациями и действиями

Мутации (mutations) и действия (actions) в Vuex используются для изменения состояния хранилища, но есть ключевые различия:

  1. Мутации:
    • Синхронные
    • Изменяют состояние напрямую
    • Вызываются через commit()
    javascript
    mutations: {
      increment(state) {
        state.count++
      }
    }
    // Вызов:
    store.commit('increment')
  1. Действия:
    • Могут быть асинхронными
    • Не изменяют состояние напрямую, а вызывают мутации
    • Вызываются через dispatch()
    javascript
    actions: {
      incrementAsync({ commit }) {
        setTimeout(() => {
          commit('increment')
        }, 1000)
      }
    }
    // Вызов:
    store.dispatch('incrementAsync')

Мутации должны быть простыми и предсказуемыми, а действия могут содержать сложную логику и асинхронные операции.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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