Vue2向Vue3过度Vue3状态管理工具Pinia

这篇具有很好参考价值的文章主要介绍了Vue2向Vue3过度Vue3状态管理工具Pinia。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1. 什么是Pinia

Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

Pinia 是 Vue 的专属的最新状态管理库 ,是 Vuex 状态管理工具的替代品

Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

2. 手动添加Pinia到Vue项目

后面在实际开发项目的时候,Pinia可以在项目创建时自动添加,现在我们初次学习,从零开始:

  1. 使用 Vite 创建一个空的 Vue3项目
npm init vite@latest
  1. 按照官方文档安装 pinia 到项目中

3. Pinia基础使用

  1. 定义store
  2. 组件使用store

Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

4. getters实现

Pinia中的 getters 直接使用 computed函数 进行模拟, 组件中需要使用需要把 getters return出去

Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

5. action异步实现

方式:异步action函数的写法和组件中获取异步数据的写法完全一致

  • 接口地址:http://geek.itheima.net/v1_0/channels

  • 请求方式:get

  • 请求参数:无

Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

需求:在Pinia中获取频道列表数据并把数据渲染App组件的模板中
Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

6. storeToRefs工具函数

使用storeToRefs函数可以辅助保持数据(state + getter)的响应式解构
Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

7. Pinia的调试

Vue官方的 dev-tools 调试工具 对 Pinia直接支持,可以直接进行调试

Vue2向Vue3过度Vue3状态管理工具Pinia,vue.js,javascript,ecmascript

8. Pinia持久化插件

官方文档:https://prazdevs.github.io/pinia-plugin-persistedstate/zh/文章来源地址https://www.toymoban.com/news/detail-675494.html

  1. 安装插件 pinia-plugin-persistedstate
npm i pinia-plugin-persistedstate
  1. 使用 main.js
import persist from 'pinia-plugin-persistedstate'
...
app.use(createPinia().use(persist))
  1. 配置 store/counter.js
import { defineStore } from 'pinia'
import { computed, ref } from 'vue'

export const useCounterStore = defineStore('counter', () => {
  ...
  return {
    count,
    doubleCount,
    increment
  }
}, {
  persist: true
})
  1. 其他配置,看官网文档即可

到了这里,关于Vue2向Vue3过度Vue3状态管理工具Pinia的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Vue2向Vue3过度核心技术工程化开发和脚手架

    1.1 开发Vue的两种方式 核心包传统开发模式:基于html / css / js 文件,直接引入核心包,开发 Vue。 工程化开发模式:基于构建工具(例如:webpack)的环境中开发Vue。 工程化开发模式优点: 提高编码效率,比如使用JS新语法、Less/Sass、Typescript等通过webpack都可以编译成浏览器识

    2024年02月11日
    浏览(34)
  • Vue中的Pinia状态管理工具 | 一篇文章教会你全部使用细节

    Pinia(发音为/piːnjʌ/,如英语中的“peenya”)是最接近piña(西班牙语中的菠萝)的词 ; Pinia开始于大概2019年,最初是 作为一个实验为Vue重新设计状态管理 ,让它用起来适合组合式API(Composition API)。 从那时到现在,最初的设计原则依然是相同的,并且目前同时兼容Vue2、

    2024年02月11日
    浏览(27)
  • vue2(Vuex)、vue3(Pinia)、react(Redux)状态管理

    Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它使用集中式存储管理应用的所有组件的状态,以及规则保证状态只能按照规定的方式进行修改。 State(状态) :Vuex 使用单一状态树,即一个对象包含全部的应用层级状态。这个状态树对应着一个应用中的所有状态。 Gett

    2024年01月23日
    浏览(39)
  • zustand状态管理工具(react)

    分别创建文件continue.js、shoes.js 1、continue.js 2、shoes.js

    2024年01月25日
    浏览(87)
  • react状态管理工具reduxjs/toolkit用法

    安装 npm install @reduxjs/toolkit 1.创建一个名为 counterSlice.js 的文件,用于处理计数器模块的状态: 2.创建一个名为 userSlice.js 的文件,用于处理用户信息模块的状态: 3.创建一个Redux store并将这些模块整合起来。创建一个名为 store.js 的文件: 4.在你的应用程序的入口处,将store与

    2024年02月15日
    浏览(27)
  • react 09之状态管理工具1 redux+ react-thunk的使用实现跨组件状态管理与异步操作

    npm install redux react-redux npm i redux-thunk redux-thunk redux-thunk是一个Redux的中间件,它允许你在Redux中编写异步的action creators。

    2024年02月13日
    浏览(36)
  • React 你还在用 Redux 吗?更简化的状态管理工具(Recoil)

    以往传统的 Redux 状态管理工具使用起来代码太过于复杂。 你需要通过纯函数触发 action 再去修改 data 中定义的数据,而且要通过接口请求数据还需要借助 redux - think 这个中间件才能完成。。。 更加方便使用的工具:Recoil ~   由 facebook 推出契合 React 的状态管理 它的定义方式

    2024年02月06日
    浏览(37)
  • 助你丝滑过度到 Vue3 初识 ②②

    @作者 : SYFStrive   @博客首页 : HomePage 📜: VUE3~TS 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 👉 TypeScript (🔥) 👉 微信小程序 (🔥) 👉 UNIAPP开发 (🔥) 提示:以下是本篇文章正文内容 简介 : 2020年9月

    2024年02月11日
    浏览(33)
  • vue3学习-Pinia状态管理

    定义一个Store 这个 name ,也称为 id ,是必要的,Pinia 使用它来将 store 连接到 devtools。 将返回的函数命名为 use… 是跨可组合项的约定,以使其符合你的使用习惯。 使用 store 一旦 store 被实例化,你就可以直接在 store 上访问 state 、 getters 和 actions 中定义的任何属性 store 是一

    2024年02月14日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包