Pinia状态管理库

中文文档

Pinia意为菠萝,表示与菠萝一样,由很多小块组成。在pinia中,每个store都是单独存在,一同进行状态管理。
很多人也将pinia称为vuex5,因为pinia将作为vue3推荐的状态管理库,而vuex将不再迭代。主要原因按pinia原文是:

Eventually, we realized that Pinia already implements most of what we wanted in Vuex 5, and decided to make it the new recommendation instead.

核心代码解读
  • pinia是如何做到类型安全,摒弃魔法字符串?
    因为pinia将state、getter、action都绑定到store的属性,通过composition可以获取到对应的store实例。
  • 为什么pinia不需要mutation?
    在vuex中使用mutation记录数据的更新,action进行异步操作,而pinia在action执行完成后会自动发布给订阅者,所以就不需要mutation。
  • 为什么$patch可以批量更新?
    在更新期间通过isListening标识暂停触发回调函数。
posted @ 2022-09-15 16:01  银河1992  阅读(167)  评论(0编辑  收藏  举报