在uni-app使用vue3使用vuex

在uni-app使用vue3使用vuex

1.在项目目录中新建一个store目录,并且新建一个index.js文件

js 复制代码
import { createStore } from 'vuex';
 
export default createStore({
  //数据,相当于data
  state: {
    count:1,
    list: [
      {name: '测试1', value: 'test1'},
      {name: '测试2', value: 'test2'},
      {name: '测试3', value: 'test3'},
    ],
  },
  getters: {
    
  },
  //里面定义方法,操作state方发
  mutations: {
    add(state){
			state.count++
		}
  },
  // 操作异步操作mutation
  actions: {
    
  },
  modules: {
    
  },
})

2.配置main.js文件

js 复制代码
import App from './App'
import store from './store';  //加上这里
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'

const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import uviewPlus from '@/uni_modules/uview-plus'
import { createSSRApp } from 'vue' 
export function createApp() {
  const app = createSSRApp(App)
  app.use(uviewPlus)
  app.use(store); //加上这里
  return {
    app
  }
}
// #endif

3.在文件中引用使用

js 复制代码
import {mapState,mapMutations} from 'vuex' //mapState是存的数据,mapMutations是存的方法
...mapState({
      list: state => state.list  //相当于重命名了
 }),

或者换一个简写

js 复制代码
  computed:{
    ...mapState(['count','list']),
  }

在 onLoad()中可以打印出来

js 复制代码
 onLoad() {
   console.log(this.count)
 },

使用缓存方法,在methods中:

js 复制代码
methods:{
	...mapMutations(['add']),
}

在需要的位置直接用

js 复制代码
  onLoad() {
    console.log(this.count) //1
    this.add();
    console.log(this.count) //2
   }
相关推荐
前端小L7 分钟前
专题二:核心机制 —— reactive 与 effect
javascript·源码·vue3
代码老祖7 分钟前
vue3 vue-pdf-embed实现pdf自定义分页+关键词高亮
前端·javascript
未等与你踏清风7 分钟前
Elpis npm 包抽离总结
前端·javascript
林恒smileZAZ10 分钟前
【Vue3】我用 Vue 封装了个 ECharts Hooks
前端·vue.js·echarts
前端小菜鸟也有人起17 分钟前
浏览器不支持vue router
前端·javascript·vue.js
腥臭腐朽的日子熠熠生辉19 分钟前
nest js docker 化全流程
开发语言·javascript·docker
奔跑的web.20 分钟前
Vue 事件系统核心:createInvoker 函数深度解析
开发语言·前端·javascript·vue.js
再希25 分钟前
TypeScript初体验(四)在React中使用TS
javascript·react.js·typescript
江公望30 分钟前
VUE3中,reactive()和ref()的区别10分钟讲清楚
前端·javascript·vue.js
徐同保1 小时前
上传文件,在前端用 pdf.js 提取 上传的pdf文件中的图片
前端·javascript·pdf