入门指南
核心概念
服务端渲染
开发者指南
- Migrating from Vuex ≤4
- HMR (Hot Module Replacement)
- 测试存储商店
- Usage without setup()
- Composing Stores
- Migrating from 0.x (v1) to v2
API 手册
- API Documentation
- Module: pinia
- Module: @pinia/nuxt
- Module: @pinia/testing
- Enumeration: MutationType
- Interface: TestingOptions
- Interface: DefineSetupStoreOptions
- Interface: DefineStoreOptions
- Interface: DefineStoreOptionsBase
- Interface: DefineStoreOptionsInPlugin
- Interface: MapStoresCustomization
- Interface: Pinia
- Interface: PiniaCustomProperties
- Interface: PiniaCustomStateProperties
- Interface: PiniaPlugin
- Interface: PiniaPluginContext
- Interface: StoreDefinition
- Interface: StoreProperties
- Interface: SubscriptionCallbackMutationDirect
- Interface: SubscriptionCallbackMutationPatchFunction
- Interface: SubscriptionCallbackMutationPatchObject
- Interface: _StoreOnActionListenerContext
- Interface: _StoreWithState
- Interface: _SubscriptionCallbackMutationBase
- Interface: TestingPinia
Interface: DefineStoreOptionsInPlugin
pinia.DefineStoreOptionsInPlugin
Available options
when creating a pinia plugin.
Type parameters
Name | Type |
---|---|
Id | extends string |
S | extends StateTree |
G | G |
A | A |
Hierarchy
Omit
<DefineStoreOptions
<Id
,S
,G
,A
>,"id"
|"actions"
>↳
DefineStoreOptionsInPlugin
Properties
actions
• actions: A
Extracted object of actions. Added by useStore() when the store is built using the setup API, otherwise uses the one passed to defineStore()
. Defaults to an empty object if no actions are defined.
getters
• Optional
getters: G
& ThisType
<UnwrapRef
<S
> & _StoreWithGetters
<G
> & PiniaCustomProperties
<string
, StateTree
, _GettersTree
<StateTree
>, _ActionsTree
>> & _GettersTree
<S
>
Optional object of getters.
Inherited from
Omit.getters
state
• Optional
state: () => S
Type declaration
▸ (): S
Function to create a fresh state. Must be an arrow function to ensure correct typings!
Returns
S
Inherited from
Omit.state
Methods
hydrate
▸ Optional
hydrate(storeState
, initialState
): void
Allows hydrating the store during SSR when complex state (like client side only refs) are used in the store definition and copying the value from pinia.state
isn't enough.
Example
If in your state
, you use any customRef
s, any computed
s, or any ref
s that have a different value on Server and Client, you need to manually hydrate them. e.g., a custom ref that is stored in the local storage:
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)
}
})
Parameters
Name | Type | Description |
---|---|---|
storeState | UnwrapRef <S > | the current state in the store |
initialState | UnwrapRef <S > | initialState |
Returns
void
Inherited from
Omit.hydrate
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论