vue3+pinia的快速入门使用教程

 更新时间:2022年07月15日 09:00:32   作者:温情key  
Pinia是Vue的一个存储库,它允许你跨组件/页面共享状态,下面这篇文章主要给大家介绍了关于vue3+pinia的快速入门使用,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

1. pinia介绍

官网关于pinia的介绍

Pinia 是一个状态管理库,由 Vue 核心团队维护,对 Vue 2 和 Vue 3 都可用。

现有用户可能对 Vuex 更熟悉,它是 Vue 之前的官方状态管理库。由于 Pinia 在生态系统中能够承担相同的职责且能做得更好,因此 Vuex 现在处于维护模式。它仍然可以工作,但不再接受新的功能。对于新的应用程序,建议使用 Pinia。

事实上,Pinia 这款产品最初是为了探索 Vuex 的下一个版本,整合了核心团队关于 Vuex 5 的许多想法。最终,我们意识到 Pinia 已经实现了我们想要在 Vuex 5 中提供的大部分内容,因此决定将其作为新的官方推荐。

相比于 Vuex,Pinia提供了更简洁直接的 API,并提供了组合式风格的 API,最重要的是,在使用 TypeScript 时它提供了非常好的类型推导。

2. 安装

npm install pinia --save

3. 使用

1. src文件夹下新建store/index.js

import { createPinia } from "pinia";
// 创建store实例
const store = createPinia();
export default store;

2. main.ts引入

import store from '@/store/index.js'
const app = createApp(App);
app.use(store);

3.store下新建js文件,比如userInfo.js

import { defineStore } from 'pinia'

export const userStore = defineStore({
    id: 'userInfo',  // 命名,唯一
    state: () => {
        return {
            userInfo: {}
        }
    },
    actions: {
        setUserInfo(data) {
            // 可直接通过this访问state属性
            this.userInfo = data;
        },
    }
})

4. 页面使用

import { userStore } from "@/store/userInfo.js";

export default defineComponent({
  setup() {
  const store = userStore();
	
  console.log('store实例', store);
  return {}
  },

补充:存储状态并持久化存储

安装 pinia-persistedstate-plugin

npm install pinia-persistedstate-plugin

store>index.ts

import type { App } from "vue";
import { createPinia } from "pinia";

import { createPersistedState } from "pinia-persistedstate-plugin";
const store = createPinia();
store.use(createPersistedState());
export function setupStore(app: App<Element>) {
  app.use(store);
}

export { store };

二次刷新,数据用以持久化存储。

总结

到此这篇关于vue3+pinia的快速入门使用的文章就介绍到这了,更多相关vue3+pinia使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一看就会的vuex实现登录验证(附案例)

    一看就会的vuex实现登录验证(附案例)

    这篇文章主要介绍了一看就会的vuex实现登录验证(附案例),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Vue如何使用Element-ui表单发送数据与多张图片到后端详解

    Vue如何使用Element-ui表单发送数据与多张图片到后端详解

    在做项目的时候遇到一个问题,前端需要上传表单到后端,表单数据包括文本内容和图片,这篇文章主要给大家介绍了关于Vue如何使用Element-ui表单发送数据与多张图片到后端的相关资料,需要的朋友可以参考下
    2022-04-04
  • Vue中使用Swiper简单封装组件示例

    Vue中使用Swiper简单封装组件示例

    这篇文章主要为大家介绍了Vue中使用Swiper简单封装组件示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 阿望教你用vue写扫雷小游戏

    阿望教你用vue写扫雷小游戏

    这篇文章主要介绍了阿望教你用vue写扫雷小游戏,本文通过实例代码效果图展示的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • vue 子组件修改data或调用操作

    vue 子组件修改data或调用操作

    这篇文章主要介绍了vue 子组件修改data或调用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue中实现在外部调用methods的方法(推荐)

    vue中实现在外部调用methods的方法(推荐)

    下面小编就为大家分享一篇vue中实现在外部调用methods的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • vue父子模板传值问题解决方法案例分析

    vue父子模板传值问题解决方法案例分析

    这篇文章主要介绍了vue父子模板传值问题解决方法,结合案例形式分析了vue.js父子模板传值问题相关实现方法与具体操作步骤,需要的朋友可以参考下
    2020-02-02
  • vue高德地图JS API实现海量点标记示例

    vue高德地图JS API实现海量点标记示例

    本文主要介绍了vue高德地图JS API实现海量点标记示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Vue 中使用vue2-highcharts实现top功能的示例

    Vue 中使用vue2-highcharts实现top功能的示例

    下面小编就为大家分享一篇Vue 中使用vue2-highcharts实现top功能的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • mint-ui在vue中的使用示例

    mint-ui在vue中的使用示例

    Mint UI 是 由饿了么前端团队推出的 一个基于 Vue.js 的移动端组件库,这篇文章主要介绍了mint-ui在vue中的使用示例,这里整理了详细的代码,有需要的小伙伴可以参考下
    2018-04-04

最新评论