优雅的使用Vuex

什么是Vuex

Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。这是官方的解释,我们是在使用中利用其特性,可以使我们自己在不同组件之间数据共享

1、安装

  • 法一:在Vue之后引入vuex会进行自动安装:
<script src="/path/to/vue.js"></script>
<script src="/path/to/vuex.js"></script>
  • 法二:NPM安装
npm install vuex --save

2、引入vuex

import Vue from 'vue'
import Vue from 'vuex'
Vue.vue(Vuex) 

3、vuex核心

实例化statemutationsgetteractionmodule
导出store
使用时需要将store引入

const store = new Vuex.Store({
	state,
	mutations,
	getters,
	actions,
})

export  default store
  • 3.1、state
    state在vuex中用于存放数据类似于组件中的data
let state = {
count: 1
}
  • 3.2、mutations
    里面放的是方法,用于改变state中的数据(改变了原数据)
let mutations = {
 // mutations中的方法
	inCount() { 
		state.count++;
	}
}

在具体事例中使用commit()触发方法

methods:{
	inCount(){
		this.$store.commit('inCount')   // 此处inCount是指mutations中的方法
	}
}

mutations——state

  • 3.3、action

类似于mutations,提交的是mutations,而不是直接变更状态
可以包含异步操作

context.commit(),用来提交mutations方法。

let actions = {
	inCount(context){
		context.commit('inCount')  // inCount是mutations中的方法
	}
}

外部通过dispatch触发actions中的方法。this.$store.dispatch('')
dispatch——actions——mutations——state

  • 3.4、getters
    类似于vue的computed,改变state里面的数据时会触发getters中的方法,起监听作用。
let getters = {
	computedCount: (state) => {
		return store.count*2;
	}
}

state与getters同步

实现持久化

将请求的数据缓存到vuex中,这样下次请求就可以在vuex中读取,不用再次读取api

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Vue 3和TypeScript的时候,可以采取以下几种优雅的方式: 1. 使用Composition API: Vue 3引入了Composition API,它提供了一种更灵活和可组合的方式来组织和复用逻辑。通过使用Composition API,可以将相关的逻辑按照功能进行组合,提高代码的可维护性和可读性。 2. 类型推导: Vue 3对TypeScript的支持更加友好,可以通过类型推导来减少手动定义类型的工作量。在Vue组件的`setup`函数中,可以通过对变量使用`ref`、`reactive`等API来让Vue自动推导出变量的类型。 3. 使用TSX: 如果习惯于使用JSX来编写组件,可以使用TSX来编写Vue组件。TSX是一种在TypeScript中编写JSX语法的方式,它可以提供更好的类型检查和智能感知,使得编写Vue组件更加直观和高效。 4. 使用Vue Router和Vuex的TypeScript支持: Vue Router和Vuex是Vue生态系统中常用的路由和状态管理库。在Vue 3中,它们提供了对TypeScript的良好支持,可以定义路由和状态的类型,提高代码的健壮性和可维护性。 5. 使用第三方库的TypeScript声明文件: 大量的第三方库都提供了TypeScript的声明文件,可以使用这些声明文件来获得更好的类型检查和智能感知。通过引入这些声明文件,可以在编写Vue组件时获得更好的类型支持。 总之,Vue 3和TypeScript的结合可以提供更好的开发体验和代码健壮性。使用Composition API、类型推导、TSX、Vue Router和Vuex的TypeScript支持以及第三方库的TypeScript声明文件,可以使得代码更加优雅、可维护和易于扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值