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

推薦する

WindowsとLinux間でファイルを転送する方法

WindowsとLinux間のファイル転送(1)WinSCPを使用して、WindowsファイルをLi...

MySql におけるプロセス制御関数/統計関数/グループ化クエリの使用法の分析

これからの道のりは長く困難ですが、私は探求を続けます。また週末がやってきました。引き続き、皆さんと一...

Vue 仮想リストの実例

目次序文デザイン成し遂げるまとめ序文最近は、いつも延々とスワイプしています。 Weibo をチェック...

Brotli圧縮アルゴリズムを有効にするNginxの実装プロセスの詳細な説明

序文Web アプリケーションでは、トラフィックを節約し、転送データのサイズを縮小し、転送効率を向上さ...

CSS疑似クラス名を数字で始めないでください

初心者が div+css を開発する場合、.ggg、#ccc などの形式の CSS 疑似クラス名を付...

Docker.v19 で Docker Compose オーケストレーション ツールをインストールして構成する方法

1. Compose の紹介Compose は、マルチコンテナ Docker アプリケーションを定義...

uniapp エントリーレベル nvue クライミングピット記録の分析

目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...

node.js で PC 上の WeChat アプレット パッケージを復号化するための処理アイデア

目次アプレットのソースコードはどこにありますか? PC ミニプログラムはどのように暗号化されますか?...

JavaScriptタイマーとボタン効果設定の詳細な説明

タイマー効果: <div> <font id='timeCount'...

Kylin V10 への zabbix-agent のインストール手順

1. インストールパッケージをダウンロードするダウンロードアドレス: https://sourcef...

ローカル写真をアップロードする前にプレビューコード例を実装するための HTML5 と jQuery

HTML5 と jQuery はアップロード前にローカル画像のプレビューを実装しており、その効果は...

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...

Linux でファイルの作成時間を取得する方法と実践的なチュートリアル

背景ファイルの作成時刻を取得する必要がある場合があります。例えば: 「xtrabackup スキーマ...

Kubernetes を使用して Springboot または Nginx をデプロイするための詳細なチュートリアル

1 はじめに「Maven がワンクリックで Springboot を Docker リポジトリにデプ...

JavaScript での正規表現の使用について詳しく学ぶ

目次1. 正規表現とは何か1. 正規表現の特徴2. 正規表現の使用2. 正規表現における特殊文字1....