vue3项目中使用pinia

这篇具有很好参考价值的文章主要介绍了vue3项目中使用pinia。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

官网地址

https://pinia.vuejs.org/zh/
中文文档
https://pinia.web3doc.top/

pinia    作为Vue.js 状态管理库

类型安全、可扩展性以及模块化设计。 甚至让你忘记正在使用的是一个状态库。

优点:

vue3项目中使用pinia

 

优点

  • dev-tools 支持

    • 跟踪动作、突变的时间线

    • Store 出现在使用它们的组件中

    • time travel 和 更容易的调试

  • 热模块更换

    • 在不重新加载页面的情况下修改您的 Store

    • 在开发时保持任何现有状态

  • 插件:使用插件扩展 Pinia 功能

  • 为 JS 用户提供适当的 TypeScript 支持或 autocompletion

  • 服务器端渲染支持

pinia 取消mutations操作,直接通过action可以同步或者异步更新state。

pinia中常用的三大核心:

  1. state 定义数据源

  2. action 用来修改state

  3. getters类似计算属性进行计算

项目中使用pinia

cnpm i --save-dev pinia
//版本"pinia": "^2.0.34",

 pinia目录下创建index.ts文件 

.创建pinia
index.ts
//创建pinia
import { createPinia } from "pinia";
//创建pinia对象
const pinia = createPinia();
export default pinia;
//将pinia关联到vue项目
import { createApp } from "vue";
import "./style.css";
import App from "./App.vue";
//引入pinia
import pinia from "@/pinia/index";
//将路由关联到vue3 项目
createApp(App).use(pinia).mount("#app");
//使用pinia 创建一个user 模块进行状态管理
import { defineStore } from "pinia";
//创建store
let userStore = defineStore("user", {
  state() {
    return {
      //定义数据源
      token: "",
    };
  },
  //执行修改状态
  actions: {
    saveToken(args: string) {
      this.token = args;
    },
  },
  //属性计算
  getters: {},
});
export default userStore;

在组件setup中使用pinia文章来源地址https://www.toymoban.com/news/detail-425504.html

<script setup lang="ts">
//引入对应的模块
import user from "@/pinia/module/userStore";

//执行获取store
let userStore = user();

//触发action修改state
userStore.saveToken("111")
</script>
<template>
  <div>商铺综合收费--{{ userStore.token }}</div>
</template>

到了这里,关于vue3项目中使用pinia的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十一章 基础界面开发 (组件封装和使用)

    Vue 是前端开发中非常常见的一种框架,它的易用性和灵活性使得它成为了很多开发者的首选。而在 Vue2 版本中,组件的开发也变得非常简单,但随着 Vue3 版本的发布,组件开发有了更多的特性和优化,为我们的业务开发带来了更多便利。本文将介绍如何使用 Vue3 开发业务组件

    2024年02月19日
    浏览(89)
  • 【前端Vue】Vue3+Pinia小兔鲜电商项目第2篇:什么是pinia,1. 创建空Vue项目【附代码文档】

    Pinia 是 Vue 的专属状态管理库,可以实现跨组件或页面共享状态,是 vuex 状态管理工具的替代品,和 Vuex相比,具备以下优势 提供更加简单的API (去掉了 mutation ) 提供符合组合式API风格的API (和 Vue3 新语法统一) 去掉了modules的概念,每一个store都是一个独立的模块 搭配

    2024年03月21日
    浏览(48)
  • vue3+vite+pinia+vue-router+ol项目创建及配置

    vite官网 注意:两种方式创建目录结构一致 方式一:vite创建脚手架命令: 命令行:npm create vite@latest 然后选择 方式二:命令行直接声明带上vue 定义:pinia是一个是Vue官方团队推荐代替Vuex的一款轻量级状态管理库。 pinia官网中文文档 命令行:yarn add pinia 或者 npm i pinia vue-rou

    2024年02月16日
    浏览(86)
  • Vue3中使用pinia

    目录 1、安装:npm install pinia 2、创建store文件并配置内部的index.js文件 3、main.js文件中配置 4、组件使用 4-1、 store.$reset()    4-2 store.$patch  5.订阅修改 6.Getter 7、Actions 效果图  点击按钮,界面变化  说明成功修改了pinia里面的数据,且界面刷新证明这种直接修该pinia数据的方式

    2024年02月07日
    浏览(41)
  • 【项目实战】基于Vue3+TypeScript+Pinia的后台管理系统(coderwhy)

    是基于Vue3、Pinia、VueRouter、Vite、ElementPlus、TypeScript、Echarts等后台系统 https://documenter.getpostman.com/view/12387168/TzzDKb12 baseURL = ‘http://codercba.com:5000’ postman详细使用可以自己搜 也可以使用其他接口管理的工具 给项目添加 环境变量 baseURL https://gitee.com/yangyang993/vue3_ts_cms_admin.git 登录

    2024年02月07日
    浏览(70)
  • vue3探索——pinia高阶使用

    以下是一些 Pinia 的其他高阶功能: storeToRefs() :响应式解构仓库,保证解构出来的数据是响应式的数据。 状态持久化 :Pinia 并没有内置的状态持久化功能,但你可以使用第三方库或自定义插件来实现状态的持久化。例如,你可以使用  localStorage  或  sessionStorage  来将状态

    2024年02月08日
    浏览(34)
  • 前端开发小技巧 - 【Vue3 + TS】 - 在 TS + Vue3 中使用 Pinia,实现 Pinia 的持久化,优化Pinia(仓库统一管理)

    ts 中使用 pinia 和 Vue3 基本一致,唯一的不同点在于,需要根据接口文档给 state 标注类型,也要给 actions 标注类型; 以下都是 组合式API 的写法, 选项式API 的写法大家可以去官网看看; Pinia; 持久化插件 - pinia-plugin-persistedstate; 目标文件: src/types/user.d.ts (这里以 user.d.t

    2024年04月09日
    浏览(55)
  • 【前端Vue】Vue3+Pinia小兔鲜电商项目第1篇:认识Vue3,1. Vue3组合式API体验【附代码文档】

    通过 Counter 案例 体验Vue3新引入的组合式API 特点: 代码量变少 分散式维护变成集中式维护 ![image.png]( create-vue是Vue官方新的脚手架工具,底层切换到了 vite (下一代前端工具链),为开发提供极速响应 ![image.png]( 前置条件 - 已安装16.0或更高版本的Node.js 执行如下命令,这一指

    2024年03月17日
    浏览(57)
  • pinia在vue3中的使用

    总结: 在store文件夹中建一个pinia的文件userStore.js 1.要想使用pinia必须先引入defineStore  这里我们使用es6的模块化语法导出的   import { defineStore } from \\\'pinia\\\' 2.然后使用export const useUserStore = defineStore(\\\'user\\\',{})   defineStore 方法有两个参数,第一个参数是模块化名字(也就相当于身份

    2024年02月15日
    浏览(36)
  • Vue3 store+pinia 基本使用

    pinia是一个 状态管理的库 ,用于 跨组件、页面进行状态共享 (这和Vuex、Redux一样),用起来像组合式API Pinia和Vuex有什么区别 1、PInia的最初是为了探索Vuex的下一次迭代会是什么样子,结合了Vuex核心团队讨论中的许多想法; 2、最终,团队意识到Pinia已经实现了Vuex5中大部分内

    2024年02月07日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包