位置: IT常识 - 正文
推荐整理分享Pinia基础知识(基础知识讲解),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:基础知识入门,基础知识讲解,pie基础知识100问,基础知识讲解,基础知识的拼音是什么,基础知识怎么写?,基础知识的拼音是什么,pie基础知识100问,内容如对您有帮助,希望把文章链接给更多的朋友!
Pinia 是 Vue 的存储库,它允许跨组件/页面共享状态。实际上,pinia就是Vuex的升级版,官网也说过,为了尊重原作者,所以取名pinia,而没有取名Vuex,所以大家可以直接将pinia比作为Vue3的Vuex。
二、为什么要使用pinia?pinia中只有state、getter、action,抛弃了Vuex中的Mutation,Vuex中mutation一直都不太受小伙伴们的待见,pinia直接抛弃它了,这无疑减少了我们工作量。
pinia中action支持同步和异步,Vuex不支持
良好的Typescript支持,毕竟我们Vue3都推荐使用TS来编写,这个时候使用pinia就非常合适了
无需再创建各个模块嵌套了,Vuex中如果数据过多,我们通常分模块来进行管理,稍显麻烦,而pinia中每个store都是独立的,互相不影响。
体积非常小,只有1KB左右。
pinia支持插件来扩展自身功能。
支持服务端渲染。
三、Pinia 基础特性1、State
(1)默认情况下,通过 store 实例访问 state,可以直接读取和写入,如 @click="store.count++"
(2)通过 store.$reset() 方法可以将 state 重置为初始值。
(3)除了直接通过 store 修改 state,还可以通过 store.$patch() 方法提交多个更改。
(4)可以通过 store.$subscribe() 订阅 State 的变化,在 patches 修改之后订阅只会触发一次。默认情况下,订阅绑定到添加它的
组件,当组件卸载时,它们将自动删除,也可以配置将其保留。
2、Getters
(1)Getters 属性的值是一个函数,接受 state 作为第一个参数,目的是鼓励使用箭头函数
(2)非箭头函数会绑定 this,建议仅在需要获取整个 store 实例的场景使用,且需要显式定义函数返回类型
3、Actions
(1)与 Gettes 一样可以通过 this 访问整个 store 实例
(2)Actions 可以是异步的或同步的,不管怎样,都会返回一个 Promise
(3)Actions 可以自由的设置参数和返回的内容,一切将自动推断,不需要定义 TS 类型
(4)与 State 一样,可以通过 store.$onAction() 订阅 Actions,回调将在执行前触发,并可以通过参数 after() 和 onError() 允许在Action 决议后和拒绝后执行函数。同样的,订阅绑定的是当前组件。
四、Pinia 中关于 TypeScript 类型推断。Pinia 默认提供良好的 TypeScript 支持,但是要想获得完整的类型推断,需要遵循一些使用建议:1、
上一篇:温哥华岛麋鹿瀑布吊桥鸟瞰图,加拿大 (© Ink Drop/Alamy)(温哥华瀑布)
下一篇:YOLOv5、YOLOv7改进之实验结果新增mAP75的值(一):新增打印mAP75的值,便于YOLOv5系列模型对比实验获取更多精度数据,丰富实验数据(yolov5怎么改进)
友情链接: 武汉网站建设