VueのVuexの4つの補助機能について

VueのVuexの4つの補助機能について

1. 補助機能

コンポーネントが複数の状態を取得する必要がある場合、これらすべての状態を計算プロパティとして宣言すると、多少の繰り返しと冗長性が生じます。この問題を解決するには、計算されたプロパティを生成するmapStateヘルパー関数を使用して、キー入力を節約します。

スクリプトに補助関数を導入します。

'vuex' から { mapState、mapMutations、mapActions、mapGetters } をインポートします。

2. 例

1. mapState と mapGetters

stategettersプロパティ、つまり特定の値を返すため、 mapStatemapGetters計算プロパティcomputedに配置する必要があります。

例えば:

これで、ストアの状態にプロパティ userName が存在します。

Home.vue コンポーネントでは、mapState を通じて取得され、インターフェースに表示されます。

計算されたコード:

  計算:{
    //補助関数を通じてストア内の状態を取得する
    ...mapState(['ユーザー名'])
    //同等: 次の通常の計算プロパティコード /* userName (){
      this.$store.state.userName を返します
    }*/
  }

ページの呼び出し:

結果:

このように、単純な...mapState(['userName'])を使用して、比較的長い計算プロパティ関数を置き換えることができます。
mapGettersの使い方はmapStateと同じです。computed computed呼び出すことができます。ここではmapStateのみを例として取り上げます。

2. mapMutations と mapActions

mutationsactions関数を返すため、コンポーネントの methods プロパティに配置する必要があります。

例えば:

現在、 storemutationsには、現在のユーザーにウェルカム ウィンドウをポップアップ表示するヒント機能があります。

上の図のmethods内のコードは、ストア内のミューテーションを取得するためのショートカットです。

  方法:{
    // ストア内のミューテーションを取得するための略語
    ...mapMutations(['tip'])
    ///* tip(){ と同等
      this.$store.commit('tip');
    }*/
  }

コンポーネントの呼び出し: created関数内の tip メソッドを呼び出して、ウェルカム ポップアップ ウィンドウを実装します。

mapActionsmapMutationsの使用方法は同じです。つまり、これらはnethodsで宣言できるため、ストア内のアクションとミューテーションの参照が簡単になります。

上記の例からわかるように、補助関数の利点は、ストア内の状態、ゲッター、ミューテーション、アクションの取得を簡素化できることです。もちろん、補助機能を使用しなくても上記の機能を実現できますが、コンポーネント内で複数の状態を同時に使用する必要がある場合は、補助機能を使用すると便利になります。

以上で、VueのVuexの4つの補助機能についての記事は終了です。Vuexの補助機能に関するより詳しい内容は、123WORDPRESS.COMの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

<<:  MySQL データベース内の varchar 型の数値のサイズを比較する方法

>>:  Linux環境でログファイルを表示するコマンドの詳細な説明

推薦する

Nginx で HTTPS 証明書を構成する詳細なプロセス

1. HttpとHttpsの違いHTTP: インターネットで最も広く使用されているネットワーク プロ...

WeChatアプレットはシンプルなチャットルームを実装します

この記事では、WeChatアプレットの具体的なコードを共有し、簡単なチャットルームを実装します。具体...

Docker swarm を使用して Nebula Graph クラスターを迅速にデプロイする方法のチュートリアル

1. はじめにこの記事では、Docker Swarm を使用して Nebula Graph クラスタ...

CSSを使用して、頻繁に表示される奇妙なボタンを簡単に実装します。

背景グループでは、CSS を使用してインセット コーナー ボタンを実装する方法や、矢印付きのボタンを...

CSS の画像パスの問題に関する議論 (同じパッケージ/異なるパッケージ)

CSS ファイルでは、背景を使用する、つまり背景画像を追加する必要がある場合があります。これは通常、...

Linux での MongoDB のインストールに関するチュートリアル

MongoDB はクロスプラットフォームであり、Windows と Linux の両方にインストール...

Docker での Redis 接続の急増をトラブルシューティングした実践的な記録

土曜日、本番サーバー上の Redis サーバーが利用できなくなり、エラー メッセージは次のようになり...

Tomcatが親の委任メカニズムを破壊する方法についての簡単な説明

目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...

JavaScript での AOP プログラミングの基本実装

AOP の紹介AOP (アスペクト指向プログラミング) の主な機能は、コアビジネスロジックモジュール...

docker-maven-pluginを使用してデプロイメントを自動化する方法を説明します

1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...

MySQL sql99構文の内部結合と非等価結合の詳細な説明

#事例: 従業員の給与水準を照会する 選択 給与、等級 から 従業員 参加する ジョブグレード g ...

CSS における zoom:1 属性の定義と機能

今日、CSS の zoom 属性は何のために使用されるのかと尋ねられました。この属性は、フローティン...

Vueはツリーテーブルを実装する

この記事では、ツリーテーブルを実装するためのVueの具体的なコードを例として紹介します。具体的な内容...

JavaScript は 9 グリッドのクリックによる色の変更効果を実装します

この記事では、9グリッドクリックの色変更効果を実現するためのJavaScriptの具体的なコードを参...

Linux システム Docker への ASP.NET Core アプリケーションのデプロイのプロセス分析

目次1. システム環境2. 運用プロセスと途中で遭遇した問題1. システム環境1. Tencent ...