美文网首页
vue3+uniapp 创建pinia

vue3+uniapp 创建pinia

作者: 李小白呀 | 来源:发表于2024-01-30 17:46 被阅读0次

1.安装pinia:

执行命令:yarn add pinia 或者使用npm npm install pinia

2.挂载pinia:

import { createPinia } from 'pinia'
import { createSSRApp } from "vue";
// import uviewPlus from 'uview-plus'
import uviewPlus from '@/uni_modules/uview-plus'
// import Vue from 'vue'
// import share from './utils/share.js'

import App from "./App.vue";

export function createApp() {
    const app = createSSRApp(App);
    const pinia  = createPinia();
    app.use(pinia)
    return {
        app
    };
}

3.创建store:(state、getters 、actions)

新建user.js文件,添加代码:

import { defineStore } from 'pinia'

export const userStore = defineStore('user', {  //唯一命名
  state: () => ({
    token: uni.getStorageSync('token') || ''
  }),
  getters: {
    getToken: state => state.token
  },
  actions: {
    setToken(token) {
      uni.setStorageSync({
        key: 'token',
        data: token,
      })
      this.token = token
    }
  }
})

4.存入stoer:

import { userStore } from '@/store/user'

async function loginceshi() {
    const res = await loginfrom(loginForm.value)
    console.log('res',res)
    const test = userStore()
    test.setToken(res.data)
    }

4.读取stoer:

import { userStore } from '@/store/user'
import { storeToRefs } from 'pinia'

const store = userStore();
console.log(store)
const {token} = storeToRefs(store);

<view >{{token}}</view>

成功显示:


image.png

相关文章

网友评论

      本文标题:vue3+uniapp 创建pinia

      本文链接:https://www.haomeiwen.com/subject/ywfoodtx.html