Pull to refresh

Comments 9

Используйте стрелочные функции в компонентах

Можно истрактовать неверно — будто методы, computed или хуки должны быть стрелочными функциями, хотя на самом деле ровно наоборот.
Используйте стрелочные функции там, где они нужны, а не где-то там:)


Используйте Vuex для хранения состояния

На vuex свет клином не сошелся. В небольших приложениях он может показаться громоздким. Есть достаточно альтернатив, например vue-stash.

и что нового можно узнать из статьи!? не более чем реклама Vue
да, стоило автору уточнить «используйте стрелочные функции в колбэках»
например примеры по созданию плагина и vuex (я не так давно начал изучать vuejs). у меня вопрос по vuex, используя его, любой дочерний компонент может изменять данные напрямую без использования emit?
Да любой компонент может мутировать состояние в vuex:

Компонент:
this.$store.commit('changeValue', true)


Vuex store:

const state = {
  someProperty: false   
}

  
const mutations = {
  changeValue(state, value) {
    state.someProperty = value
  }
}


А emit используется для отправки изменений в родительский компонент
Вопрос конечно дискуссионный, но я бы не рекомендовал напрямую вызывать мутации vuex из компонент, сугубо через actions, даже несмотря на то, что на простых кейсах это кажется избыточным.

Судя по документации — мутации это всегда синхронные операции.
Действия могут использоваться для асинхронных операций.
Поэтому если операция синхронная, никто не запрещает использовать мутации.

Никто не запрещает, главное придерживаться единого стиля на проект/команду ;)

Документация Vue как раз-таки не рекомендует так делать. Предпологается создание action и вызов его через
this.$store.dispatch('changeValue')

а уже action должен вызывать мутацию
actions: {
  changeValue ({ commit }) {
      commit('changeValue');
  }
}
Sign up to leave a comment.

Articles