Vuexを勉強してたらMutationとActionで処理の切り分けをどうしようか、というところで悩んだので自分なりの考えを書きます。 MutationとActionの違い そもそもMutationは同期処理でなければならなず、Actionは非同期処理も可能という違いがあります。 これは、Mutationで複数の状態の変更が非同期に行われた場合に挙動が予測不能になるのを防ぐという意図があるようです。 Actionでは、Mutationに対してcommitを行うことで間接的に状態を変更しますが、Actionを呼び出すためのdispatchメソッドはPromiseを返すため、処理の順序を制御することが可能になります。 同期処理はどっちに書く? 非同期処理はActionに書かなければないですが、同期処理はどちらに書くべきか? ここで、Actionに渡されたtextが"Yes"ならcount+1、