我以前曾发表过一篇文章。现在,Pinia是VUE的官方状态库,适用于VUE2和VUE3。
首先,pinia.js是新一代的州经理。它是由Vuejs团队成员开发的?
因此,任务也是下一代VUEX,这是VUEX5?
Pinia最初是为了探索Vuex的下一个迭代的样子,将许多想法结合在Vuex 5核心团队的讨论中。最后,我们意识到Pinia已经意识到了Vuex 5中我们想要的大多数内容,并决定实现新建议。
让我们谈谈与先前的Vuex相比,与先前的Vuex相比,Pinia和Vuex之间的差异之间的差异。Pinia具有以下优势:
Pinia和Vuex在VUE3中的不同PINIA的写作和用法:
vuex(4)Vue3中的写作和用法:
可以看出,Pinia的写作更加简洁和轻。Pinia取消了原始突变,当我们使用值或方法时,我们可以在不通过或使用该方法的情况下获得值或方法?
安装
商店是什么,商店是一个实体,它具有未固定在组件树上的状态和业务逻辑。。
它包含三个概念和和谐,并且可以安全地假设这些概念等同于组成部分的和平。
在SRC/Store下创建新创建的index.ts,然后导出商店
状态定义状态在src/state下创建user.ts
获得状态
您也可以结合使用?
状态也可以使用ES的解构。像道具一样,它可以做到。您可以使用ToreFS方法进行解构。您还可以使用Pinia提供的StoreToreFS方法:
修改状态,例如以前的vuex,您可以直接修改:
但是我们通常不建议这样做吗?
像Vuex一样,我们需要通过方法(操作)修改状态。至于为什么不建议这样直接修改它:首先,很难维护。对于大量组件,将更改隐藏的状态更改。商店打包,很难在其他地方移植。
您可以通过此操作访问它:
Getters没什么可说的,Vuex的使用基本上是相同的?
行动谈论同一商店同一商店中的相互呼吁
如果您想在其他商店中调用操作该怎么办?引入相应的商店后,您可以直接访问其内部方法!
假设您的手里有一个
想使用它
参考文章:
https://juejin.cn/post/704919696770980389Heading-6
https://juejin.cn/post/706811357404384462#Heading-16
https://juejin.cn/post/7081532935081295909Heading-2
原始:https://juejin.cn/post/7103802780657451016