【Vue3】走进Pinia,学习Pinia,使用Pinia

本文介绍了Pinia,一个专为Vue3设计的状态管理库,强调其TypeScript支持、性能优化和简单API。通过实例演示了如何设置重定向、引入Pinia并存储和读取数据。适合初学者了解并实践Pinia在项目中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
请添加图片描述

🍋重定向

在介绍本节的内容之前,我们来介绍一个小知识点—重定向
只要在index.ts中加入了,这样可以帮助我们在首次进入到网站的时候,我们可以直接进入到定位的指定路由组件

 {
      path:'/',
      redirect:'/home'
    }

🍋介绍Pinia

Pinia是一个专为Vue 3设计的集中式状态(数据)管理库,它提供了一种简单而强大的方式来管理应用程序的状态。Pinia的设计理念是尽可能地与Vue的响应式系统集成,以提供最佳的性能和开发体验
在这里插入图片描述

🍋为什么选择Pinia?

  • 基于Vue 3:Pinia是专为Vue 3设计的,可以充分利用Vue 3的新特性和优势。

  • TypeScript支持:Pinia天生支持TypeScript,可以提供更好的类型推断和类型安全。

  • 插件化:Pinia可以轻松地与其他Vue生态系统中的库集成,如Vue Router、Vuex等。

  • 性能优化:Pinia使用了许多性能优化技巧,可以确保应用程序的性能达到最佳状态。

  • 简单易用:Pinia的API设计简单明了,学习曲线较低,可以快速上手。

🍋前置准备

在引入本节的知识点之前,我们把需要准备的案例准备好

我们创建了一个Count.vue,准备代码如下

<template>
<div class="count">
    <h2>当前求和为:{{ sum }}</h2>
<select v-model.number="n">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
    <button @click="_add">加一</button>
    <button @click="_jian">减一</button>
</div>
</template>
<script setup lang='ts' name="Count">
    import {ref} from 'vue'
    let sum = ref(1)
    let n = ref(1)

    function _add(){
        sum.value+=n.value
    }
    function _jian(){
        sum.value-=n.value
    }


</script>
<style scoped>
  .count {
    background-color: skyblue;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 0 10px;
  }
  select,button {
    margin: 0 5px;
    height: 25px;
  }
</style>

这里我们要注意在v-model后面要点number否则是字符串的拼接

🍋搭建Pinia

首先我们需要在终端安装一下pinia,使用的命令如下

npm i pinia

之后我们打开main.ts在里面导入、创建、安装就可以了

import {createPinia} from 'pinia'
// 第二步:创建pinia
const pinia = createPinia()
// 第三步:安装pinia
app.use(pinia)

安装成功后,大菠萝就出现了
在这里插入图片描述

🍋Pinia 存储和读取数据

创建一个文件夹store,在里面创建一个Count.ts
在里面添加如下代码

import {defineStore} from 'pinia'

export const useCountStore = defineStore('Count',{
  state(){
    return {
      sum:1
    }
  }
})

之后我们在count.vue中也要进行修改

import {useCountStore} from '@/store/Count'
    const countStore = useCountStore()

在这里插入图片描述

🍋总结

Pinia是一个强大而灵活的Vue状态管理库,它提供了一种简单而优雅的方式来管理应用程序的状态。通过利用Pinia,我们可以更好地组织和管理我们的Vue应用程序,并确保其具有良好的性能和可维护性。如果您正在寻找一种新的状态管理库,不妨试试Pinia,相信它会给您带来惊喜!

下节我们接着介绍使用Pinia修改数据的几种方式

请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

评论 91
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小馒头学python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值