VUE_vue中如何使用状态管理(store,vuex),mapState辅助函数使用,mapMutations辅助函数使用

vuex的基础使用

安装vuex

npm install vuex --save
//或者
yarn add vuex (推荐使用)

main.js

import Vue from 'vue'
import store from './store'
new Vue({
  store,
}).$mount('#app')

src/store/index.js (无该文件则自己新建)

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
  state: {
	  msg:"小歪"
  },
  mutations: {},
  actions: {},
  modules: {}
})

组件使用:
.html

<h1>{{this.$store.state.msg}}</h1>

.js

console.log(this.$store.state.msg)
store使用辅助函数:

.js

<script>
import {mapState} from 'vuex'
export default {
	data() {
		return {}
	},
	methods: {},
	computed: {
		// 使用state辅助函数,使用对象方式时,名称可以不一致
		...mapState({
			msg:state=>state.msg
		})
	},
}
</script>

.html

<h1>{{msg}}</h1>

mutations使用介绍(全局方法)

export default new Vuex.Store({
  state: {
	  count:0
  },
  mutations: {
	 add(state){
		state.count = state.count+1
	}
  },
  actions: {},
  modules: {}
})

组件调用mutations方法:

methods:{
	countadd(){
		this.$store.commit('add')
	}
}
mutations使用辅助函数:
import {mapMutations} from 'vuex'
export default new Vuex.Store({
  state: {
	  count:0
  },
  mutations: {
	 add(state){
		state.count = state.count+1
	}
  },
  actions: {},
  modules: {}
})

组件调用mutations方法:

methods:{
	// 使用mutations辅助函数,使用对象方式时,名称可以不一致
	...mapMutations({
	 	muCountAdd:'add'
	}),
	//调用 this.muCountAdd()
}
Vue 3,你可以使用Vuex辅助函数来简化在组件使用Vuex的操作。下面是使用Vuex辅助函数的步骤: 首先,确保已经安装了VuexVue 3。 在你的Vue 3项目,创建一个store文件夹,并在其创建一个store.js文件。在store.js文件,你可以定义你的Vuex store,包括状态(state)、mutations、actions等。 ```javascript // store.js import { createStore } from 'vuex'; const store = createStore({ state: { // 状态 }, mutations: { // 修改状态的方法 }, actions: { // 异步操作的方法 }, }); export default store; ``` 在你的根组件(App.vue)使用`createApp`函数创建Vue实例时,将store传递给`use`方法,这样整个应用程序都可以访问到store。 ```javascript // App.vue import { createApp } from 'vue'; import store from './store'; createApp(App).use(store).mount('#app'); ``` 现在,你可以在任何组件使用Vuex辅助函数来访问store状态和触发mutations或actions。 在组件,你可以使用`mapState`辅助函数来将store状态映射到组件的计算属性。 ```javascript // MyComponent.vue import { mapState } from 'vuex'; export default { computed: { ...mapState(['stateProperty']), }, }; ``` 你也可以使用`mapMutations`辅助函数来将mutations映射到组件的methods,以便在组件触发mutations。 ```javascript // MyComponent.vue import { mapMutations } from 'vuex'; export default { methods: { ...mapMutations(['mutationName']), }, }; ``` 最后,你可以使用`mapActions`辅助函数将actions映射到组件的methods,以便在组件触发actions。 ```javascript // MyComponent.vue import { mapActions } from 'vuex'; export default { methods: { ...mapActions(['actionName']), }, }; ``` 这样,你就可以在Vue 3使用Vuex辅助函数来简化在组件使用Vuex了。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值