Vuexの補助関数の使い方

Vuexの補助関数の使い方

マップ状態

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

エクスポートデフォルト{
  // ...
  計算:{
     ...mapState({
         // 矢印関数はコードをより簡潔にすることができます count: state => state.count,
         // 文字列パラメータ 'count' を渡すことは `state => state.count` と同等です
         countエイリアス: 'count',

         // `this` を使用してローカル状態を取得できるようにするには、通常の関数 countPlusLocalState (state) { を使用する必要があります。
             state.count + this.localCount を返す
         }
  	})
  }
}

定義された属性名が状態内の名前と同じ場合は、配列を渡すことができる。

//状態を定義する
定数状態 = {
    カウント:1,
}

//コンポーネントで計算された補助関数を使用します:{
    ...mapState(['count'])
}

マップゲッター

計算:{
    ...mapGetters({
      // `this.doneCount` を `this.$store.getters.doneTodosCount` にマップします
      完了数: 'doneTodosCount'
    })
}

プロパティ名がゲッターで定義されているものと同じ場合は、配列を渡すことができる。

計算:{
  計算: {
  // オブジェクトスプレッド演算子を使用して、計算されたオブジェクトにゲッターを混ぜます...mapGetters([
      '完了したTodosCount'、
      '別のゲッター'、
      // ...
    ])
  }
}

要約:

  • mapStateとmapGettersはどちらもマッピングにcomputedを使用します
  • コンポーネント内でマッピングした後、これを介して使用します。マッピング属性名

マップミューテーション

方法:{
    ...mapMutations({
        add: 'increment' // `this.add()` を `this.$store.commit('increment')` にマップします
    })
}

プロパティ名がmapMutatiosで定義されているものと同じ場合は、配列を渡すことができる。

方法:{
    ...mapMutations([
        'increment', // `this.increment()` を `this.$store.commit('increment')` にマップします

        // `mapMutations` はペイロードもサポートします:
        'incrementBy' // `this.incrementBy(amount)` を `this.$store.commit('incrementBy', amount)` にマッピングします
    ])、
}

マップアクション

方法:{
    ...マップアクション({
        add: 'increment' // `this.add()` を `this.$store.dispatch('increment')` にマップします
    })
}

属性名がmapActiosで定義されているものと同じ場合、配列を渡すことができる。

方法:{
    ...マップアクション([
        'increment', // `this.increment()` を `this.$store.dispatch('increment')` にマップします	
        // `mapActions` はペイロードもサポートします:
        'incrementBy' // `this.incrementBy(amount)` を `this.$store.dispatch('incrementBy', amount)` にマッピングします
    ])、
}

要約する

  • mapMutationsとmapActiosは両方ともメソッドにマッピングされます
  • マッピング後、メソッドになる

複数のモジュール

補助機能を使用しない場合、

this.$store.commit('app/addCount')

ヘルパー関数を使用します。ヘルパー関数の最初のパラメータは、指定された名前空間へのパスです。

計算: {
  ...mapState('some/nested/module', {
    a: 状態 => 状態.a、
    b: 状態 => 状態.b
  })
},
メソッド: {
  ...mapActions('some/nested/module', [
    'foo', // -> this.foo()
    'bar' // -> this.bar()
  ])
}

または、createNamespacedHelpers関数を使用して、名前空間ベースのヘルパー関数を作成します。

'vuex' から { createNamespacedHelpers } をインポートします。

const { mapState, mapActions } = createNamespacedHelpers('some/nested/module') // パスが指定されている // 前と同じメソッドを使用する export default {
  計算: {
    // `some/nested/module` 内を参照...mapState({
      a: 状態 => 状態.a、
      b: 状態 => 状態.b
    })
  },
  メソッド: {
    // `some/nested/module` 内を検索...mapActions([
      'フー'、
      'バー'
    ])
  }
}

以上がvuexの補助機能の使い方の詳しい内容です。vuexの補助機能についてさらに詳しく知りたい方は、123WORDPRESS.COM内の他の関連記事もぜひご覧ください!

以下もご興味があるかもしれません:
  • Vue 親コンポーネントが子コンポーネント関数の実装を呼び出す
  • Vue の proto ファイルの関数呼び出しのグラフィカルな説明
  • vuex の補助関数 mapGetters の基本的な使い方の詳細な説明
  • Vue3 の SetUp 関数のプロパティとコンテキスト パラメータの詳細な説明
  • vue2.x の徹底研究 - h 関数の説明

<<:  MySQL の結合インデックスと左端一致原則の詳細な説明

>>:  MySQL sql_mode の分析と設定の説明

推薦する

MySQL の null (IFNULL、COALESCE、NULLIF) に関する知識ポイントのまとめ

この記事では、MySQL の null (IFNULL、COALESCE、NULLIF) に関連する...

pdf.js を使用して Vue で PDF ファイルをプレビューする方法

ページ上で PDF をプレビューすると、一部のファイルは印刷またはダウンロードできません。現時点では...

Dockerコンテナのログ分析

コンテナログを表示するまず、 docker run -it --rm -d -p 80:80 ngi...

Linux ファイル管理コマンド例の分析 [権限、作成、削除、コピー、移動、検索など]

この記事では、Linux ファイル管理コマンドについて例を挙げて説明します。ご参考までに、詳細は以下...

16 の XHTML1.0 と HTML の互換性ガイドラインの概要

1.ページを XML タイプとして宣言しないでください。ページでは UTF-8 または UTF-16...

el-select のスタイルを変更する方法の詳細な説明: popper-append-to-body と popper-class

elementUI が提供する el-select コンポーネントのスタイルを変更する方法この問題...

MySQL 最適化における B ツリー インデックスの知識ポイントのまとめ

SQL を最適化する必要があるのはなぜですか?当然ですが、SQL ステートメントを記述する場合、次の...

Ansibleを使用してTomcatをバッチでデプロイする方法

1.1 ディレクトリ構造の構築この操作は、nginx+mysql+tomcat+dbのディレクトリ構...

MySql クライアントが数秒で終了する問題を解決する (my.ini が見つからない)

問題の説明 (環境: windows7、MySql8.0)今日、MySql をインストールした後、M...

Vue のディスパッチとブロードキャストの自己実装の詳細説明 (ディスパッチとブロードキャスト)

解決すべき問題主にコンポーネント間のクロスレベル通信用なぜディスパッチとブロードキャストを自分で実装...

Linux で jar パッケージを起動してバックグラウンドで実行する方法

jar パッケージを実行する Linux コマンドは次のとおりです。方法1: java -jar s...

nginx リクエスト ヘッダー データ読み取りプロセスの詳細な説明

前回の記事では、nginx がリクエスト ラインのデータを読み取って、リクエスト ラインを解析する方...

MySQL 5.7.17 winx64 無料インストールバージョン設定方法グラフィックチュートリアル

mysql5.7.17無料インストールバージョンのインストールに関する最近の経験1.ダウンロードして...

10 HTML テーブル関連タグ

実際、多くの人が「テーブルは絶対に使用すべきではないと聞いたことがある」と言いますが、これは絶対に間...

下線を実現するための CSS3 トランジションの例コード

この記事では、下線を実現するための CSS3 トランジションのサンプル コードを紹介します。このコー...