Table of Contents
1. Introduction to Vuex
2. Create Vuex Store
3. Use Vuex in the component
4. Summary
Home Web Front-end Vue.js VUE3 Getting Started Tutorial: Using Vuex State Management to Implement Global Data Management

VUE3 Getting Started Tutorial: Using Vuex State Management to Implement Global Data Management

Jun 15, 2023 pm 09:54 PM
vue vuex Status management

With the continuous development of Vue.js, Vue 3 has also been officially launched and has gradually been widely used. Compared with Vue 2, Vue 3 has many optimizations, such as proxying data through Proxy objects to achieve data interception and hijacking. . However, in practical applications, since large application projects often have many components, the management of global state becomes more and more important. At this time, Vuex is a very good solution.

1. Introduction to Vuex

Vuex is the official state management library of Vue.js, designed to solve the problem of sharing state (data) between multiple components in Vue applications. Its core concepts include:

  • State (state): the data that needs to be managed globally in the application.
  • Getter (value taker): used to derive some state from state (similar to the computed property in a component).
  • Mutation (mutation): used to modify the data in the state. Since the Vuex data is updated synchronously in the mutation, the consistency of the data can be guaranteed.
  • Action (action): Similar to mutation, it is also used to modify data in the state, but it can operate asynchronously, and can be used to initiate asynchronous operations such as network requests.

Through the flexible use of these core concepts, Vuex can help us achieve global data management, thereby simplifying the transfer and operation between components.

2. Create Vuex Store

The data in Vuex is stored in the store object, so we first need to create a store object. In Vue 3, the way to create store objects is slightly different from 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对象
Copy after login

In the above code, we created a store object through the createStore method and passed in an object. The object contains four attributes: state, mutations, actions, and getters. Among them, the state attribute defines the initial value of the global state count as 0; the mutations attribute defines a mutation method increment, which implements the function of increasing the count value by 1; the actions attribute defines an action method incrementAsync, which implements the asynchronous increment of the count value. The function of 1; the getters attribute defines a getter method doubleCount, which returns twice the count value.

3. Use Vuex in the component

After creating the store object, we can use the data and methods directly in the component. In Vue 3, you can use the syntax of <script setup> to use data and methods in 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>
Copy after login

In the above code, we obtain the store object through the useStore function, and call the increment method in the handleClick method to modify the count value. In the template, we can get the count value through store.state.count, and get twice the count value through store.getters.doubleCount.

4. Summary

Through the introduction of this article, we can understand the basic concepts and usage of Vuex. In actual development, if the application needs to manage a large amount of global data, then using Vuex is a good choice, which can greatly simplify the interaction between components and improve development efficiency.

The above is the detailed content of VUE3 Getting Started Tutorial: Using Vuex State Management to Implement Global Data Management. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to add functions to buttons for vue How to add functions to buttons for vue Apr 08, 2025 am 08:51 AM

You can add a function to the Vue button by binding the button in the HTML template to a method. Define the method and write function logic in the Vue instance.

How to use bootstrap in vue How to use bootstrap in vue Apr 07, 2025 pm 11:33 PM

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

How to reference js file with vue.js How to reference js file with vue.js Apr 07, 2025 pm 11:27 PM

There are three ways to refer to JS files in Vue.js: directly specify the path using the &lt;script&gt; tag;; dynamic import using the mounted() lifecycle hook; and importing through the Vuex state management library.

How to use watch in vue How to use watch in vue Apr 07, 2025 pm 11:36 PM

The watch option in Vue.js allows developers to listen for changes in specific data. When the data changes, watch triggers a callback function to perform update views or other tasks. Its configuration options include immediate, which specifies whether to execute a callback immediately, and deep, which specifies whether to recursively listen to changes to objects or arrays.

How to return to previous page by vue How to return to previous page by vue Apr 07, 2025 pm 11:30 PM

Vue.js has four methods to return to the previous page: $router.go(-1)$router.back() uses &lt;router-link to=&quot;/&quot; component window.history.back(), and the method selection depends on the scene.

Vue realizes marquee/text scrolling effect Vue realizes marquee/text scrolling effect Apr 07, 2025 pm 10:51 PM

Implement marquee/text scrolling effects in Vue, using CSS animations or third-party libraries. This article introduces how to use CSS animation: create scroll text and wrap text with &lt;div&gt;. Define CSS animations and set overflow: hidden, width, and animation. Define keyframes, set transform: translateX() at the beginning and end of the animation. Adjust animation properties such as duration, scroll speed, and direction.

How to query the version of vue How to query the version of vue Apr 07, 2025 pm 11:24 PM

You can query the Vue version by using Vue Devtools to view the Vue tab in the browser's console. Use npm to run the "npm list -g vue" command. Find the Vue item in the "dependencies" object of the package.json file. For Vue CLI projects, run the "vue --version" command. Check the version information in the &lt;script&gt; tag in the HTML file that refers to the Vue file.

What does vue multi-page development mean? What does vue multi-page development mean? Apr 07, 2025 pm 11:57 PM

Vue multi-page development is a way to build applications using the Vue.js framework, where the application is divided into separate pages: Code Maintenance: Splitting the application into multiple pages can make the code easier to manage and maintain. Modularity: Each page can be used as a separate module for easy reuse and replacement. Simple routing: Navigation between pages can be managed through simple routing configuration. SEO Optimization: Each page has its own URL, which helps SEO.

See all articles