Пытаюсь постичь магию Vuex. Нахожу фрагмент документации:
…
actions: {
increment(context) {
context.commit('increment');
}
}
Далее сказано: " На практике для упрощения кода часто используется деструктуризация аргументов из ES2015 (особенно при необходимости многократного вызова commit
):" и приводится аналог выше написанного кода:
actions: {
increment ({ commit }) {
commit('increment')
}
}
И здесь меня заклинивает: перечитав про деструктуризацию, я понимаю, что присваивание в переменные идёт по порядку. Т.е. ключу commit в ({ commit }) будет присвоено значение первого свойства объекта context. Смотрю в документации, из чего состоит context:
{
state, // то же, что и `store.state`, или локальный state при использовании модулей
rootState, // то же, что и `store.state`, только при использовании модулей
commit, // то же, что и `store.commit`
dispatch, // то же, что и `store.dispatch`
getters, // то же, что и `store.getters`
rootGetters; // то же, что и `store.getters`, только в модулях
}
и никак не пойму, почему в неё попадает нужный нам метод commit, т.к. он совсем не первый в context по порядку…