Pinia 的优点
vuex 将不再接受新的功能,建议将 Pinia 用于新的项目。
简便,存储和组件变得很类似,你可以轻松写出优雅的存储。
类型安全,通过类型推断,可以提供自动完成的功能。
vue devtools 支持,可以方便进行调试。
Pinia 支持扩展,可以非常方便地通过本地存储,事物等进行扩展。
模块化设计,通过构建多个存储模块,可以让程序自动拆分它们。
非常轻巧,只有大约 1kb 的大小。
服务器端渲染支持。
yarn add pinia@next
与 Vuex 相比,Pinia 提供了一个更简单的 API,具有更少的操作,提供了 Composition-API 风格的 API,最重要的是,在与 TypeScript 一起使用时具有可靠的类型推断支持。
hooks
Hooks 提供了一种更明确的方式来组织代码,使得代码能重用,更重要的是,它允许不同的逻辑部分进行通信、协同工作。
解决问题:
在表达状态概念时,类 是最常见的组织形式。类本身存在一些问题,比如绑定关系冗长、复杂,导致不易读,This 的指向总会让人摸不清头脑;
不仅如此,在重用方面,使用渲染工具或高阶组件类的模式很常见,但这样容易陷入 “pyramid of doom” (末日金字塔),可以将它理解为过度的嵌套关系;
Hooks 允许我们使用函数调用来定义组件的状态逻辑,这些函数有更强的组合性、重用性;同时,仍然可以进行状态的访问和维护;
组件化
计算属性
watch
父子传递
插槽
router
组合api
vite
transition