ホームページ  >  記事  >  ウェブフロントエンド  >  Vuex におけるミューテーションとアクションの違いは何ですか? (詳細なチュートリアル)

Vuex におけるミューテーションとアクションの違いは何ですか? (詳細なチュートリアル)

亚连
亚连オリジナル
2018-06-02 11:22:483220ブラウズ

ここで、Vuex におけるミューテーションとアクションの違いについての詳細な説明を共有します。これは優れた参考値なので、皆さんのお役に立てれば幸いです。

アクションとミューテーションの違いは、競合状態を解決することではなく、開発ツールを使用して状態の変化を追跡できるようにすることです。

実際、vuex では、アクションは単なるアーキテクチャ上の概念であり、必要なものではありません。最終的には、ミューテーションがトリガーされる限り、アクションはただの関数です。終わり。非同期競合状態にどう対処するかはユーザー自身の仕事です。

vuex の唯一の実際の制限は、ミューテーションが同期的でなければならないことです (redux では、reducer が次の状態を同期的に返さなければならないのと似ています)。同期の意味は、各ミューテーションが実行された後、新しい状態 (reducer と同じ) に対応できるため、devtools がスナップショットを取得して保存し、自由にタイムトラベルできることです。 devtool を開いて非同期アクションを呼び出すと、呼び出した変更がいつ記録されるかを明確に確認でき、対応するステータスをすぐに確認できます。

個人テスト: ミューテーションで非同期操作が実行されると、dev-toolsでスナップショットがすぐに出力されますが、非同期操作はまだ完了しておらず、この時点のスナップショット情報は間違っています。

アクションで非同期操作を実行する場合、dev-tools は非同期操作が完了するまで待ってから、ミューテーションのスナップショットを印刷します。これにより、タイムトラベルを確認して、特定のミューテーションの変更を表示することが容易になります。

上記は私があなたのためにまとめたものです。

関連記事:

ES6 を使用して WeakMap を通じてメモリ リーク問題を解決する (詳細なチュートリアル)

vue2 でグローバル変数を設定するには? (詳細なチュートリアル)

JS で文字列連結を実装する方法 (String.prototype.format の拡張)

以上がVuex におけるミューテーションとアクションの違いは何ですか? (詳細なチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。