比vuex香的pinia最快速入门指南

如果是新项目, 完全基于setup的, 那么建议使用pinia代替vuex, vuex官网有说pinia可以理解为vuex5, vuex不会出5了. image.png

安装

shell npm i pinia -S

使用

首先在"main.js"中引入"pinia", 并关联到"vue"实例上. javascript import { createApp } from 'vue' import {createPinia} from 'pinia' import App from './App.vue' const pinia = createPinia(); createApp(App).use(pinia).mount('#app') 然后创建"store", defineStore的第一个参数是store的id, 可以是任意字符, 定义数据可以用ref/reactive/computed, 注意导出的是一个函数. ```javascript import { defineStore } from 'pinia' import { ref,reactive,computed } from 'vue';

export const useStore = defineStore('main', () => { const title = ref(hello pinia) const list = reactive([1, 2, 3, 4, 5, 6, 7, 8, 9]); const count = computed(() => list.reduce((a, b) => a + b)); function add(){ list.push(1) } return { title, count,list,add } }) 在组件内: html

标题: {{ store.title }}

总数: {{ store.count }}

列表: {{ store.list }}

``` 11.gif

vue-devtools控制台中也可以观察"pinia"的数据.

image.png

总结

实际pinia有2种使用方式, 一种如本文缩写, 还有一种就是类似vuex那样的定义"state/getters/action", 从代码简洁角度, 我更喜欢本文的写法, 如果你喜欢vuex的写法, 可以参考pinia官方文档学习. https://pinia.vuejs.org

在线演示

https://vue3-start-phi.vercel.app/#/pinia

🍕学习互动

感谢大家的阅读, 如有疑问可以加我微信, 我拉你入群摸鱼🐟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值