开发者问题收集

在 Vue 3 Pinia 商店中设置状态的正确方法是什么?

2022-03-03
17848

在 Vue 3(组合 API)Pinia 存储上初始化状态时,哪种模式更“正确”或更惯用?

选项 1:

  state: () => ({
    user: {},
  }),

选项 2:

  state: () => {
    return {
      user: {},
    };
  },

选项 3: 也许是别的?

3个回答

它们是一样的。选项 1 和 2 是返回对象的函数。在箭头函数中, { 代表函数的内容(如 function x () {{ )。因此,如果您想返回一个对象(如 return {{ ),则可以使用 ({ ,就像选项 1 一样。

参考: 箭头函数高级语法

Bernardo Dal Corno
2022-04-08

对于 Pinia 中的 Vue 3 Composition API ,正确的模式是:

export const useUserStore = defineStore('users', () => {
  const user = ref({});

  return { user };
})

它被称为“Setup Store”。

In Setup Stores:

ref() s become state properties

computed() s become getters

function() s become actions

更多信息: https://pinia.vuejs.org/core-concepts/#setup-stores

Dmytro Lisunov
2022-12-02

选项 2。它应该是一个返回状态的函数。 https://pinia.vuejs.org/core-concepts/state.html

Eze Kohon
2022-03-03