API 文档 / pinia / DefineStoreOptions

接口:DefineStoreOptions<Id, S, G, A>

pinia.DefineStoreOptions

defineStore() 的选项参数,用于设置 store。可以通过插件 API 扩展来增强 store 的功能。 @查看 DefineStoreOptionsBase.

类型参数

名字类型
Idextends string
Sextends StateTree
GG
AA

层次结构

属性

actions

Optional actions: A & ThisType<A & UnwrapRef<S> & _StoreWithState<Id, S, G, A> & _StoreWithGetters<G> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree>>

action 的可选对象

定义于

pinia/src/types.ts:654


getters

Optional getters: G & ThisType<UnwrapRef<S> & _StoreWithGetters<G> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree>> & _GettersTree<S>

getter 的可选对象

定义于

pinia/src/types. ts:647


id

id: Id

唯一的字符串密钥,用于识别整个应用程序中的 store。

定义于

pinia/src/types.ts:636

方法

hydrate

Optional hydrate(storeState, initialState): void

当 store 定义中使用了复杂的状态(如仅客户端的引用),并且从 pinia.state 中复制值是不够时,允许在 SSR 期间对 store 进行 hydrating。

example 如果在你的 state 中,你使用了任何 customRef,任何 computed,或任何在服务器和客户端有不同值的 ref, 你需要手动对它们进行 hydrate。 例如,一个存储在本地存储的自定义 ref:

const useStore = defineStore('main', {
  state: () => ({
    n: useLocalStorage('key', 0)
  }),
  hydrate(storeState, initialState) {
    // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/43826
    storeState.n = useLocalStorage('key', 0)
  }
})

参数

名字类型描述
storeStateUnwrapRef<S>the current state in the store
initialStateUnwrapRef<S>initialState

返回值

void

定义于

pinia/src/types.ts:687


state

Optional state(): S

创建一个新 state 的函数。必须是一个箭头函数, 以确保正确的类型检查!

返回值

S

定义于

pinia/src/types.ts:642