Vuex: разница между объявлениями функций и именами функций в качестве ключа в мутации - PullRequest
0 голосов
/ 12 июня 2019

У меня есть следующая структура Vuex.

(store / actions.js store / mutations.js, ...)

И я видел два случая при написании функции вмутация

case 1

import {
  MUTATION_ONE
  MUTATION_TWO
  ...
} from './mutation_group';

export default {
  [SOME_MUTATION](parameter) { .. }
};

case 2

import {
  MUTATION_ONE
  MUTATION_TWO
  ...
} from './mutation_group';

export default {
  SOME_MUTATION: function (parameter) { .. }
};

Какая разница между простым использованием объявлений функцийи использование переменных в качестве значений ключей через вычисляемое имя свойства?

1 Ответ

0 голосов
/ 12 июня 2019

Случаи 1 и 2 являются взаимозаменяемыми, только если MUTATION_ONE === 'MUTATION_ONE', тогда как вычисленные свойства в случае 1 гарантируют, что правильное имя мутации будет указано независимо от значения SOME_MUTATION.

Обычно для типов действий указывается прописная букваконстанты в соглашении об именах Redux, но они необязательно должны иметь одинаковое значение, тип действия может быть пространством имен:

export const MUTATION_ONE = 'FOO/MUTATION_ONE';

Эта структура Redux и лежащие в ее основе проблемы не должны быть применимы к Vuex.Vuex решает эту проблему с помощью модулей и пространств имен .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...