vue3+vite+ts使用pinia

最近官方推出来一个最新的vuex版本,也算是vuex5的版本吧,为了尊重这个版本的原作者,所起名字为pinia.

比起之前的版本使用起来简单方便,而且模块化更加清晰,维护成本更低,所以更推荐大家使用pinia状态管理

1.安装pinia

yarn add pinia
# 或者使用 npm
npm install pinia

2.在src目录下新建store文件夹

 3.在文件夹下面新建product.ts文件(可以根据你使用的模块来命名,一个模块对应一个ts文件)

import {defineStore} from "pinia";

export const userProduct = defineStore('product', {
    state: () => {
        return {
            product:[{key:1,value:'产品'}]
        }
    },
    //适合计算属性
    getters: {},
    //适合定义业务逻辑
    actions: {

    }
})

defineStore(),有两个参数,第一个可以指定使用者的id(可以随便起名字),第二个参数是个对象,里面包含state,getters,actions三个方法 

4.在vue组件使用


<script setup lang="ts">
import {userProduct} from '../store/product'

const store = userProduct()

//通过 $reset 重置store里面state的数据
//store.$reset()
//打印
console.log(store.product)


</script>

这就配置好啦,看起来是不是比之前的vuex使用简单方便~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 是一种用于构建用户界面的 JavaScript 框架,Vite 是一个由 Vue.js 官方团队开发的新一代构建工具,而 TypeScript (TS) 是一个静态类型检查的 JavaScript 超集。Pinia 是一个基于 Vue 3 的状态管理库。 在使用 Vite 创建 Vue 3 项目时,你可以选择使用 TypeScript,这样可以让你的代码更加稳健和可维护。首先,你需要安装 Vite: ``` npm init vite@latest my-vue-project --template vue-ts ``` 这将创建一个名为 `my-vue-project` 的新项目,并使用 Vue 3 和 TypeScript 模板。 接下来,你可以安装 Pinia 来管理你的应用状态: ``` npm install pinia ``` 然后,在你的应用程序中引入 Pinia: ```typescript import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' const app = createApp(App) const pinia = createPinia() app.use(pinia) app.mount('#app') ``` 现在你可以在你的组件中使用 Pinia 来管理状态了。例如,创建一个 counter store: ```typescript import { defineStore } from 'pinia' export const useCounterStore = defineStore('counter', { state: () => ({ count: 0, }), actions: { increment() { this.count++ }, decrement() { this.count-- }, }, }) ``` 然后,在你的组件中使用这个 counter store: ```typescript <template> <div> <p>Count: {{ count }}</p> <button @click="increment">Increment</button> <button @click="decrement">Decrement</button> </div> </template> <script> import { useCounterStore } from './stores/counter' export default { name: 'Counter', setup() { const counterStore = useCounterStore() return { count: counterStore.count, increment: counterStore.increment, decrement: counterStore.decrement, } }, } </script> ``` 希望这可以帮助你开始使用 ViteVue 3、TypeScript 和 Pinia 创建应用程序!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值