Vue3中使用Pinia

Pinia 是 Vue 的存儲庫,它允許您跨組件/頁面共享狀態(tài)。 如果您熟悉 Composition API,您可能會認為您已經(jīng)可以通過一個簡單的 export const state = reactive({}). 這對于單頁應(yīng)用程序來說是正確的,但如果它是服務(wù)器端呈現(xiàn)的,會使您的應(yīng)用程序暴露于安全漏洞。

1、安裝pinia

npm i pinia

2、引入Pinia

// main.ts 引入及應(yīng)用
import { createPinia } from 'pinia'
// 第二步:創(chuàng)建pinia
const pinia = createPinia()
// 第三步:安裝pinia
app.use(pinia)

3、store文件夾里創(chuàng)建用戶信息相關(guān)的user.ts

import { defineStore } from'pinia'

export const useuserstore = defineStore ('userInfo',{
    //真正存儲數(shù)據(jù)的地方
    state() {
        return {
            userInfo: { account: 'admin', password: '123456' },
        }
    }
})

4、應(yīng)用

import {useuserstore} from "@/store/user.ts";

1、第一種方法
const userStore = useuserstore()
console.log(userStore.userInfo)
// 修改store
userStore.$patch({
 account: 'user', password: '123456'
})
console.log(userStore.userInfo)

2、第二種方法
export const useuserstore = defineStore ('userInfo',{
    actions: {
        setUserInfo(userInfo: any){
            this.userInfo = userInfo
        }
    },
    //真正存儲數(shù)據(jù)的地方
    state() {
        return {
            userInfo: {},
        }
    }
})
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容