Additional instructions for using getters and actions in Vuex

Additional instructions for using getters and actions in Vuex

Preliminary Notes

1.Differences between Vue2.x and Vue3.x:

  • In Vue 3.x, there are no helper functions.
  • There is no difference in other usage of Vuex.

2. Here we only expand and supplement the use of several attributes of Vuex.

Getters added

When getters are written in a submodule, the method in the getters attribute has a total of 4 parameters

getters: {
	/**
	  * Parameter description:
	  * state: represents the satate in the current module
	  * getters: represents the getters object in the current module, generally other methods of the same level * rootState: represents the satate object of the main module * rootGetters represents the getters object of the main module *
	  * The main module is - index.js */  
	getName(state, getters, rootState, rootGetters){
		// Instructions // State and getters can be called directly // rootState.Module name.Attribute name // rootGetters['module name/getters method name under this submodule']
		//Except for state, all other functions use [''], which complies with the naming convention },
	.......
}

Actions added

When actions are written in a submodule, the first parameter context object in the actions method will have 6 objects (there are other properties, but only these 6 are provided for developers to use)

definition

// actions in submodules
actions: {
	/**
	  * Parameter 1: context is an object. If the current actions are defined in a submodule, 
	  * The context will have the following 6 objects for developers to use * 
	  * 1. commit: call mutations
	  * (1). This module calls: commit('this module mutations method name', actual parameter)
	  * (2). Other modules call: commit('module name/other module's mutation method name', actual parameter, {root: true}),
	  * {root:true} fixed parameter, means to call it as the main module * 2. state: get the state of the current module
	  * 3. dispatch: call actions method * (1). This module calls: dispatch('actions method name of this module', actual parameter)
	  * (2). Calls from other modules: dispatch('module name/actions method name of other modules', null, {root: true})
	  * 4. Getters: Get the getters of the current module 
	  * 5. rootState: state under the main module
	  * 6. rootGetters: getters under the main module
	  *
	  * Parameter 2: value is the parameter passed when calling the component */
	refreshUserName(context, value){
	    setTimeout(()=>{
           store.commit('mutations method name', actual parameter value)  
       },2000)
	}
}

Call (Vue3.x)

import { useStore } from 'vuex'
setup(){
    const store = useStore()
    // store === this.$store
    store.dispatch('module name/actions method name', parameter value)
}

During development, if you want to use the above 6 objects, you must obtain the required objects through context. You can directly obtain them through deconstruction

The following is an example from the official website:

The above is the detailed content of the supplementary instructions for the use of getters and actions in Vuex. For more supplementary information on the use of getters and actions in Vuex, please pay attention to other related articles on 123WORDPRESS.COM!

You may also be interested in:
  • Requesting data instances in vuex actions in vue
  • Detailed example of vuex actions asynchronously modifying state
  • Specific use of Vuex's actions attribute
  • Detailed explanation of the usage of Actions in vuex learning
  • Detailed tutorial on using actions in Vuex

<<:  Introduction and analysis of three Binlog formats in MySQL

>>:  Analysis of parameter transfer process of driver module in Linux

Recommend

Some Linux file permission management methods you may not know

Why do we need permission management? 1. Computer...

How to build a drag and drop plugin using vue custom directives

We all know the drag-and-drop feature of HTML5, w...

Introduction to HTML basic controls_PowerNode Java Academy

The <input> tag The <input> tag is us...

Reasons why MySQL 8.0 statistics are inaccurate

Preface Whether it is Oracle or MySQL, the new fe...

How to choose and use PNG, JPG, and GIF as web image formats

So which one of these formats, GIF, PNG, and JPG,...

A brief analysis of the differences between undo, redo and binlog in MySQL

Table of contents Preface 【undo log】 【redo log】 【...

Raspberry Pi msmtp and mutt installation and configuration tutorial

1. Install mutt sudo apt-get install mutt 2. Inst...

How much do you know about JavaScript inheritance?

Table of contents Preface The relationship betwee...

js method to delete a field in an object

This article mainly introduces the implementation...

Solution to the problem of var in for loop

Preface var is a way to declare variables in ES5....

How to use nginx to access local static resources on Linux server

1. Check whether port 80 is occupied. Generally, ...