美文网首页
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