Nuxt 3 - Pinia 与 useState()

Dav*_*d00 14 vue.js nuxt.js vuejs3 nuxtjs3 pinia

Store (Pinia) 与 UseState

如果我没记错的话,useState可以更换任何商店吗Pinia?鉴于这useState使得 ref 可在所有组件之间共享,我很难知道是否应该使用 store 或 useState ref。例如,假设我有一个currentUser (firstName, lastName, email)在页面加载时从远程 API 获取的数据。我应该将此信息存储在PiniauserStore 中还是存储在useState('currentUser')?

该主题的最佳实践是什么?

useState() 文档: https: //v3.nuxtjs.org/api/composables/use-state

Pinia 文档: https: //pinia.vuejs.org/core-concepts/

kis*_*ssu 9

这个问题在为什么我应该使用 Pinia 部分中得到了充分的解释,我引用:

  • 开发工具支持
    • 追踪行动、突变的时间表
    • 商店出现在使用它们的组件中
    • 时间旅行和更轻松的调试
  • 热模块更换
    • 无需重新加载页面即可修改您的商店
    • 开发时保留任何现有状态
  • 插件:使用插件扩展 Pinia 功能
  • 为 JS 用户提供适当的 TypeScript 支持或自动完成
  • 服务器端渲染支持

如果您愿意,这里有Evan You 解释的视频。

  • 我更喜欢在小项目中使用`useStore()`。中型和大型,绝对是 Pinia。 (3认同)
  • @3AhmadReza 我很确定两者之间的差异毫无意义。应用程序的整体代码应该比决定此处使用哪种方法具有更大的影响。最重要的是,即使 Pinia 慢了 2%,这也不应该成为决定因素,因为你应该编写人类可以理解的代码,而不是优化几毫秒,否则你可能在亚马逊工作。 (2认同)