广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue新的状态管理库Pinia入门教程
  • 496
分享到

Vue新的状态管理库Pinia入门教程

2024-04-02 19:04:59 496人浏览 八月长安
摘要

目录前沿使用教程1、安装2、Vue中引入3、基本使用4、也可以像vuex一样使用为什么最近Pinia会火起来呢,主要在于vue3推出来的时候,Vuex对于Vue3的组合式api支持的

为什么最近Pinia会火起来呢,主要在于vue3推出来的时候,Vuex对于Vue3的组合式api支持的不是特别好,也就是在这个时候Pinia出现了。

前沿

Vue官方推荐的状态管理库是Vuex,那为什么最近Pinia会火起来呢,主要在于Vue3推出来的时候,Vuex对于Vue3的组合式Api支持的不是特别好,也就是在这个时候Pinia出现了,最重要的是,Pinia不但支持Vue3,同时还支持Vue2,这就厉害了,而且最新Vuex5的特性还是参考的Pinia

使用教程

官网:https://pinia.vuejs.org/

GitHub地址:Https://github.com/vuejs/pinia

1、安装

npm install pinia -S

2、vue中引入

// Vue3中引入使用
import { createPinia } from 'pinia'

app.use(createPinia())


//Vue2中引入使用
import { createPinia, PiniaVuePlugin } from 'pinia'

Vue.use(PiniaVuePlugin)
const pinia = createPinia()

new Vue({
  el: '#app',
  // 其它配置项
  pinia,
})

3、基本使用

// 定义store
// stores/counter.js
import { defineStore } from 'pinia'

export const useCounterStore = defineStore('counter', {
  // 状态值定义
  state: () => {
    return { count: 0 }
  },
  // 状态更改方法定义
  actions: {
    increment() {
      this.count++
    },
  },
})

// 在组件中使用
// 导入状态
import { useCounterStore } from '@/stores/counter'

export default {
  setup() {
    // 初始化一个store实例
    const counter = useCounterStore()

    // state更新
    counter.count++
    
    // 或者调用方法更新
    counter.increment()
  },
}

4、也可以像vuex一样使用

const useCounterStore = defineStore('counter', {
  // 状态值
  state: () => ({ count: 0 }),
  // getter值
  getters: {
    double: (state) => state.count * 2,
  },
  // actions方法
  // 注意pinia里没有mutation
  actions: {
    increment() {
      this.count++
    }
  }
})

// 定义另外一个store
const useUserStore = defineStore('user', {
  // ...
})

export default {
  // computed里引入使用state里的值
  computed: {
    ...mapStores(useCounterStore, useUserStore)
    ...mapState(useCounterStore, ['count', 'double']),
  },
  // methods里使用action
  methods: {
    ...mapActions(useCounterStore, ['increment']),
  },
}

好了,Pinia的入门教程就讲到这,是不是语法更加简洁

到此这篇关于Vue新的状态管理库Pinia入门教程的文章就介绍到这了,更多相关Vue Pinia内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue新的状态管理库Pinia入门教程

本文链接: https://www.lsjlt.com/news/140135.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作