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 の分析と設定の説明

推薦する

将来的に人気のあるウェブサイトのナビゲーションの方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

Windows/Mac で Docker を使用して MySQL (utf8 を含む) をインストールする

目次1. MacへのDockerのインストール2. Win 10 システムでの Docker のイン...

Vuex のモジュール化と名前空間の例のデモ

1. 目的:コードの保守が容易になり、さまざまなデータの分類が明確になります。 2. store/i...

Centos7 での NFS サービス構築の紹介

目次1. サーバー2. クライアント3. テストサービス1. サーバー1. YUMソースを使用してN...

JavaScriptの浅いコピーと深いコピーについての簡単な説明

目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...

オンライン MYSQL 同期エラーのトラブルシューティング方法の概要 (必読)

序文フェイルオーバーが発生した後、よくある問題は同期エラーです。データベースが小さい場合は、ダンプし...

MySQL データ分析ストレージエンジンの例の説明

目次1. 事例紹介2. システムのデフォルトのストレージエンジンとデフォルトの文字セットを表示する3...

Reactソースコードにおけるビット演算について詳しく説明します

目次序文いくつかの一般的なビット操作ビットAND (&)ビットOR (|)ビット否定(~)マ...

Kubernetes の応用分野の概要

Kubernetes は、アプリケーションの移植性とハイブリッド クラウド/マルチクラウドの展開をサ...

画像をラベルとして使用すると、IE では for 属性が機能しません。

例えば:コードをコピーコードは次のとおりです。 <input type="check...

クールな点滅アラームボタンをおすすめします

効果は以下のとおりです。 コードは次のとおりです (クリックすると展開してソース コードが表示されま...

CentOS MySQLデータベースのスケジュールバックアップを実装する方法

次のスクリプトは、MySQLデータベース全体のスケジュールされたバックアップに使用されます。 mys...

CSS3で跳ねるボールのアニメーションを実現

私は通常、大手ウェブサイトの特別ページや製品リリースページを訪問するのが好きです。なぜなら、たくさん...

怖いハロウィーン Linux コマンド

ハロウィーンではありませんが、Linux の不気味な側面に注目する価値はあります。幽霊、魔女、ゾンビ...