検索
ホームページウェブフロントエンドVue.jsVUE3 入門チュートリアル: Vuex 状態管理を使用したグローバル データ管理の実装

Vue.js の継続的な開発に伴い、Vue 3 も正式にリリースされ、徐々に広く使用されるようになりました。Vue 2 と比較して、Vue 3 には、データの傍受やハイジャックを実現するために Proxy オブジェクトを介してデータをプロキシするなど、多くの最適化が施されています。 . .ただし、実際のアプリケーションでは、大規模なアプリケーション プロジェクトには多くのコンポーネントが含まれることが多いため、グローバル状態の管理がますます重要になります。現時点では、Vuex は非常に優れたソリューションです。

1. Vuex の概要

Vuex は、Vue.js の公式状態管理ライブラリであり、Vue アプリケーションの複数のコンポーネント間で状態 (データ) を共有する問題を解決するように設計されています。その中心となる概念は次のとおりです。

  • State (状態): アプリケーション内でグローバルに管理する必要があるデータ。
  • ゲッター (値取得者): 状態から何らかの状態を導出するために使用されます (コンポーネントの計算されたプロパティと同様)。
  • Mutation (ミューテーション): ステート内のデータを変更するために使用されます。ミューテーションでは Vuex データが同期的に更新されるため、データの一貫性が保証されます。
  • アクション (アクション): ミューテーションと同様に、状態内のデータを変更するためにも使用されますが、非同期で動作することができ、ネットワーク リクエストなどの非同期操作を開始するために使用できます。

Vuex は、これらの中心概念を柔軟に使用することで、グローバルなデータ管理の実現を支援し、それによってコンポーネント間の転送と操作を簡素化します。

2. Vuex ストアの作成

Vuex のデータはストア オブジェクトに保存されるため、最初にストア オブジェクトを作成する必要があります。 Vue 3 では、ストア オブジェクトを作成する方法が Vue 2 とは少し異なります。

import { createStore } from 'vuex'; // 导入createStore方法

const store = createStore({
  state() {
    // 定义state对象
    return {
      count: 0
    }
  },
  mutations: {
    // 定义mutation方法
    increment(state) {
      state.count++;
    }
  },
  actions: {
    // 定义action方法
    incrementAsync(context) {
      setTimeout(() => {
        context.commit('increment');
      }, 1000);
    }
  },
  getters: {
    // 定义getter方法
    doubleCount(state) {
      return state.count * 2;
    }
  }
})

export default store; // 导出store对象

上記のコードでは、createStore メソッドを使用してストア オブジェクトを作成し、オブジェクトに渡しました。このオブジェクトには、state、mutations、action、getter の 4 つの属性が含まれています。このうち、state 属性はグローバル状態カウントの初期値を 0 として定義し、mutations 属性はカウント値を 1 ずつ増やす関数を実装する mutation メソッド increment を定義し、actions 属性はアクション メソッド incrementAsync を定義し、これはカウント値の非同期増分。1 の関数。getter 属性は、カウント値の 2 倍を返す getter メソッド doubleCount を定義します。

3. コンポーネントで Vuex を使用する

ストア オブジェクトを作成した後、コンポーネントでデータとメソッドを直接使用できます。 Vue 3 では、<script setup></script> の構文を使用して、Vuex でデータとメソッドを使用できます。

<script setup>
import { useStore } from 'vuex';

const store = useStore();

function handleClick() {
  store.commit('increment');
}

</script>

<template>
  <div>
    <p>count: {{store.state.count}}</p>
    <p>double count: {{store.getters.doubleCount}}</p>
    <button @click="handleClick">increment</button>
  </div>
</template>

上記のコードでは、useStore 関数を通じてストア オブジェクトを取得し、handleClick メソッドの increment メソッドを呼び出してカウント値を変更します。テンプレートでは、store.state.count を通じてカウント値を取得し、store.getters.doubleCount を通じてカウント値の 2 倍を取得できます。

4. 概要

この記事の導入部を通じて、Vuex の基本概念と使用法を理解できます。実際の開発において、アプリケーションが大量のグローバル データを管理する必要がある場合は、コンポーネント間の対話を大幅に簡素化し、開発効率を向上させることができる Vuex を使用するのが良い選択です。

以上がVUE3 入門チュートリアル: Vuex 状態管理を使用したグローバル データ管理の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
フレームワークの選択:Netflixの決定を推進するものは何ですか?フレームワークの選択:Netflixの決定を推進するものは何ですか?Apr 13, 2025 am 12:05 AM

Netflixは、主に、パフォーマンス、スケーラビリティ、開発効率、エコシステム、技術的な負債、およびフレームワーク選択におけるメンテナンスコストを考慮しています。 1。パフォーマンスとスケーラビリティ:JavaとSpringbootが選択され、大規模なデータと高い同時リクエストを効率的に処理します。 2。開発効率とエコシステム:Reactを使用して、フロントエンド開発効率を向上させ、その豊富なエコシステムを利用します。 3.技術的な負債とメンテナンスコスト:node.jsを選択してマイクロサービスを構築して、メンテナンスコストと技術的債務を削減します。

Netflixのフロントエンドの反応、Vue、および未来Netflixのフロントエンドの反応、Vue、および未来Apr 12, 2025 am 12:12 AM

Netflixは、主にReactをフロントエンドフレームワークとして使用し、特定の機能のためにVUEによって補足されます。 1)Reactのコンポーネント化と仮想DOMは、Netflixアプリケーションのパフォーマンスと開発効率を向上させます。 2)VueはNetflixの内部ツールと小規模プロジェクトで使用されており、その柔軟性と使いやすさが重要です。

フロントエンドのvue.js:実際のアプリケーションと例フロントエンドのvue.js:実際のアプリケーションと例Apr 11, 2025 am 12:12 AM

Vue.jsは、複雑なユーザーインターフェイスを構築するのに適した進歩的なJavaScriptフレームワークです。 1)そのコア概念には、レスポンシブデータ、コンポーネント、仮想DOMが含まれます。 2)実際のアプリケーションでは、TODOアプリケーションを構築し、Vuerouterを統合することで実証できます。 3)デバッグするときは、vuedevtools and Console.logを使用することをお勧めします。 4)パフォーマンスの最適化は、V-IF/V-Show、リストレンダリング最適化、コンポーネントの非同期負荷などを通じて達成できます。

Vue.jsとReact:重要な違​​いを理解するVue.jsとReact:重要な違​​いを理解するApr 10, 2025 am 09:26 AM

Vue.JSは中小企業から中規模のプロジェクトに適していますが、Reactは大規模で複雑なアプリケーションにより適しています。 1。VUE.JSのレスポンシブシステムは、依存関係追跡を介してDOMを自動的に更新し、データの変更を簡単に管理できるようにします。 2.反応は一方向のデータフローを採​​用し、データは親コンポーネントから子コンポーネントに流れ、明確なデータフローと簡単な抽出構造を提供します。

Vue.js vs. React:プロジェクト固有の考慮事項Vue.js vs. React:プロジェクト固有の考慮事項Apr 09, 2025 am 12:01 AM

VUE.JSは、中小規模のプロジェクトや迅速な反復に適していますが、Reactは大規模で複雑なアプリケーションに適しています。 1)Vue.jsは使いやすく、チームが不十分な状況やプロジェクトスケールが小さい状況に適しています。 2)Reactにはより豊富なエコシステムがあり、高性能で複雑な機能的ニーズを持つプロジェクトに適しています。

Vueにタグをジャンプする方法Vueにタグをジャンプする方法Apr 08, 2025 am 09:24 AM

VUEでタグのジャンプを実装する方法には、HTMLテンプレートでAタグを使用してHREF属性を指定する方法が含まれます。 VUEルーティングのルーターリンクコンポーネントを使用します。 JavaScriptでこれを使用します。$ router.push()メソッド。パラメーターはクエリパラメーターに渡すことができ、ルートは動的ジャンプのルーターオプションで構成されています。

VUEのコンポーネントジャンプを実装する方法VUEのコンポーネントジャンプを実装する方法Apr 08, 2025 am 09:21 AM

VUEでコンポーネントジャンプを実装するための次の方法があります。Router-Linkと&lt; router-view&gt;を使用してください。ハイパーリンクジャンプを実行し、ターゲットパスとして属性を指定するコンポーネント。 &lt; router-view&gt;を使用してください現在ルーティングされているレンダリングされているコンポーネントを表示するコンポーネント。プログラマティックナビゲーションには、router.push()およびrouter.replace()メソッドを使用します。前者は歴史を保存し、後者は記録を残さずに現在のルートに取って代わります。

VueのDivにジャンプする方法VueのDivにジャンプする方法Apr 08, 2025 am 09:18 AM

VUEにDIV要素をジャンプするには、VUEルーターを使用してルーターリンクコンポーネントを追加するには、2つの方法があります。 @clickイベントリスナーを追加して、これを呼び出します。$ router.push()メソッドをジャンプします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール