还在用vuex?来了解一下pinia

 更新时间:2022年02月10日 15:41:21   作者:别欺负我一个刚毕业的,前端老同志  
这篇文章主要为大家详细介绍了pinia,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

1. 什么是pinia

通俗的讲 :

① vuex精简版 ,而且vue官方更加推荐使用。

②优势又完胜于vuex ,下面我们来了解下pinia。

2.优势

pinavuex
pinia 同时支持vue2和vue3vue2要用vuex 3 版本
vue3要用vuex 4 版本
不分同步异步,更好的ts支持分同步异步,不太兼容ts
享受自动补全
需要注入,导入函数,调用他们

3. 使用 (非常简单)

① 安装

npm install pinia

在 main.js 中 加入

import { createApp } from 'vue'
import App from './App.vue'
import { createPinia } from 'pinia'  //导入pinia
const  pinia = createPinia();        //调用创建pinia
createApp(App)
			.use(pinia)
			.mount('#app')

③去创建 pinia 仓库

一般选在 /src下的 store 文件夹下 例:创建为 pinia.js

/src/store/pinia.js 为:

import { defineStore } from 'pinia'
export const PiniaStore = defineStore('main',{  //导出 pinia仓库
    state:() => { //相当于全局的 data()
        return {
            name:'张三',
            age:18
        }
    },
    getters:{},  //相当于全局的computed
    actions:{}   //相当于全局methods
})

③使用 (非常容易)

以/src/view/index.vue 为例:

Vue3写法:

<template>
    <h3>{{pinia.name}}</h3>  <!--使用-->
    <h3>{{pinia.age}}</h3>
    <button @click="pinia.age++">修改pinia数据</button>   <!--修改-->
</template>
<script setup>
    import { PiniaStore } from '../../store/pinia'
    const pinia = PiniaStore();
</script>

Vue2写法:

<template>
	<div>
       <h3>{{pinia.name}}</h3>
       <h3>{{pinia.age}}</h3>
       <button @click="pinia.age++">修改pinia数据</button>
    </div>
</template>
<script>
    import { PiniaStore } from '../../store/pinia'
    export default {
			created(){const pinia = PiniaStore();}
	}
</script>

大家不用担心用pinia会出问题 ,官方已经明确说了pinia是vuex 5版本的理念,而且官方更推荐pinia而非vuex

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!   

相关文章

  • vue使用watch 观察路由变化,重新获取内容

    vue使用watch 观察路由变化,重新获取内容

    本篇文章主要介绍了vue使用watch 观察路由变化,重新获取内容 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • 如何使用yarn创建vite+vue3&&electron多端运行

    如何使用yarn创建vite+vue3&&electron多端运行

    这篇文章主要介绍了如何使用yarn创建vite+vue3&&electron多端运行,本文分步骤给大家介绍的非常详细,包括使用yarn创建vite+vue3项目会遇到哪些问题,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • Vue 组件化基本使用详情

    Vue 组件化基本使用详情

    这篇文章主要给大家分享的是Vue 组件化基本使用,所谓组件化,就是把页面拆分成多个组件,每个组件依赖的 CSS、JS、模板、图片等资源放在一起开发和维护。 因为组件是资源独立的,所以组件在系统内部可复用,组件和组件之间可以嵌套,下面来看文章学习内容吧
    2021-10-10
  • vue引入jq插件的实例讲解

    vue引入jq插件的实例讲解

    下面小编就为大家带来一篇vue引入jq插件的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 详解Vue自定义指令及使用

    详解Vue自定义指令及使用

    这篇文章主要介绍了Vue自定义指令及使用,对Vue感兴趣的同学,可以参考下
    2021-05-05
  • 基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍

    基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍

    今天小编就为大家分享一篇基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue3中遇到reactive响应式失效的问题记录

    vue3中遇到reactive响应式失效的问题记录

    这篇文章主要介绍了vue3中遇到reactive响应式失效的问题记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue yaml代码编辑器组件问题

    vue yaml代码编辑器组件问题

    这篇文章主要介绍了vue yaml代码编辑器组件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • vue项目环境搭建 启动 移植操作示例及目录结构分析

    vue项目环境搭建 启动 移植操作示例及目录结构分析

    这篇文章主要介绍了vue项目环境搭建、启动、项目移植、项目目录结构分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 深入探究Vue中三种不同的props用法

    深入探究Vue中三种不同的props用法

    Vue 的核心功能之一在于 props 的使用,props 是我们在 Vue 中从父组件到子组件传递数据的方式,但并非所有 props 都是一样的,本文我们会深入学习这三种不同类型的 props,看看它们有何不同,以及何时使用它们,需要的朋友可以参考下
    2024-03-03

最新评论