美文网首页收藏vue
pinia--新一代vue状态管理方案(上手篇)

pinia--新一代vue状态管理方案(上手篇)

作者: 习惯水文的前端苏 | 来源:发表于2022-04-28 17:57 被阅读0次

\bullet 前言

    过了五一就又要踏上找工作之旅了,面试题实在是有点看不下去,突然想起来pinia作为新一代vuex的状态管理方案,至今我还没上手试过,这着实不该...

\bullet 初始化

    npm init vite-app pinia-learn  创建vue3项目

    npm install pinia@next   安装pinia

    注册pinia

\bullet 基本使用

    \ast options api方式

        定义状态

        使用状态

    \ast Composition api方式

        定义状态

        使用状态

\bullet 批量读取状态

    可以利用mapStores和mapState批量向当前组件注入状态

    感觉一个一个引入比较麻烦,我这里做了些改动,以前文示例的cStore和rootStore为例

    \ast 修改根文件

        将其他状态引入到根文件并导出(配合webpack的自动来完成应该会更好)

        \ast 在组件处批量导入并挂载到computed上

\bullet 重置、更新与监听

    \ast reset--重置状态

    \ast patch--批量修改状态

        如上图,通过changeMsg只能修改某一个状态,利用patch则可以进行批量更新

    \ast subscribe--监听状态变化

        这只能监听注册到当前组件上的状态,如果想要对全部状态进行监听,可以使用watch观察pinia.state,但是上边改造的registerStore实际上已经会将所有状态注册到当前组件了,故感觉就不需要watch了,而且感觉也用处不是很大

\bullet getter

    基于前一个状态计算新状态,但是不会改变原状态 ,必须有显示返回值,可以是对象、值类型或函数,为函数时可以向内部传参以参与计算

\bullet actions

    \ast 可以将异步任务在此处理,一般配合mapActions解构到methods中使用

        \ast 监听actions执行周期,接上图,对函数changeMsg的调用进行监听


文档

相关文章

  • pinia--新一代vue状态管理方案(上手篇)

    前言 过了五一就又要踏上找工作之旅了,面试题实在是有点看不下去,突然想起来pinia作为新一代vuex的状态管...

  • Vue.js-vuex的基本使用

    vuex-Vue.js 的中心化状态管理方案 主要包含State, Getter, Mutations,Actio...

  • Vue权限管理解决方案

    vue-access-control :gem: Vue权限管理解决方案 介绍 Vue-Access-Contro...

  • Vuex

    是什么? Vuex 是专门为Vue提供的状态管理工具 状态即数据 状态管理就是管理 Vue组件中的数据 内部机制:...

  • pinia 新一代的vue状态管理

    0.前言 本来vue全家桶系列本来打算写个vuex的教程的,但是现在有了新的pinia,咱们就来学习新的pinia...

  • Angular5中状态管理

    前面学习了vue,react 都有状态管理,如vue中的vuex是全局状态管理,在任何组件里都可以引用状态管理中的...

  • Vue 相关链接汇总

    官网 Vue 官网 Vuex 官网 (状态管理) Vue Router (路由管理) Vue Cli 相关 axi...

  • vue 2 组件通信

    vue1的 $dispatch和$broadcast已经被弃用。请使用更多简明清晰的组件间通信和更好的状态管理方案...

  • 使用proxy 给状态加一个跟踪功能

    上一篇介绍了一个自己做的轻量级的状态管理,好多网友说,状态主要的是跟踪功能,不能跟踪算啥状态管理? 因为vue3的...

  • vue基础

    vue全家桶 vue-cli 框架 vue vuex 状态管理 vue-router 路由 axios 请求...

网友评论

    本文标题:pinia--新一代vue状态管理方案(上手篇)

    本文链接:https://www.haomeiwen.com/subject/cbeioktx.html