В действии вы видите, что первый параметр содержит {commit}
. Точно так же вы можете передать {commit, state}
. Таким образом, вы можете получить прямой доступ к state.data.
Я думаю, что в вашем примере вы хотели бы выполнить действие, потому что вы можете вызвать мутацию изнутри самого действия, используя commit('setData')
.
Первый параметр позволяет вам использовать состояние и мутацию по своему усмотрению. Лично я работал только над проектами, в которых вы сначала выполняете действие и делаете мутации, чтобы сохранить его в приложении. Например, если я хочу где-то хранить информацию об автомобиле на сервере, сначала я должен выполнить действие (и сохранить его в удаленной базе данных). Как только я подтверждаю, что он сохранен в БД, я локально мутирую в магазине. Это полностью зависит от каждого конкретного случая. Но хорошо, что вы можете мутировать изнутри действия