Skip to content

Guia completo para

Dominar a Pinia

escrito pelo seu criador

API Documentation / pinia

Módulo: pinia

Enumerações

Interfaces

Pseudónimos de Tipo

PiniaStorePlugin

Ƭ PiniaStorePlugin: PiniaPlugin

Extensão para estender toda memória.

Deprecated

use PiniaPlugin


StateTree

Ƭ StateTree: Record<string | number | symbol, any>

Estado genérico duma Memória


Store

Ƭ Store<Id, S, G, A>: _StoreWithState<Id, S, G, A> & UnwrapRef<S> & _StoreWithGetters<G> & _ActionsTree extends A ? {} : A & PiniaCustomProperties<Id, S, G, A> & PiniaCustomStateProperties<S>

Tipo de memória para construir uma memoria.

Parâmetros de Tipo

NomeTipo
Idextends string = string
Sextends StateTree = {}
G{}
A{}

StoreActions

Ƭ StoreActions<SS>: SS extends Store<string, StateTree, _GettersTree<StateTree>, infer A> ? A : _ExtractActionsFromSetupStore<SS>

Extrai as ações dum tipo de memória. Funciona com ambas memória de Composição ou uma memória de Opções.

Parâmetros de Tipo

Nome
SS

StoreGeneric

Ƭ StoreGeneric: Store<string, StateTree, _GettersTree<StateTree>, _ActionsTree>

Versão genérica e de tipo inseguro da memória. Não falha no acesso com sequências de caracteres, tornando mais fácil de escrever funções genéricas que não se importam com a memória que é passada.


StoreGetters

Ƭ StoreGetters<SS>: SS extends Store<string, StateTree, infer G, _ActionsTree> ? _StoreWithGetters<G> : _ExtractGettersFromSetupStore<SS>

Extrai os recuperadores dum tipo de memória. Funciona com ambas memória de Composição ou uma memória de Opções.

Parâmetros de Tipo

Nome
SS

StoreOnActionListener

Ƭ StoreOnActionListener<Id, S, G, A>: (context: StoreOnActionListenerContext<Id, S, G, {} extends A ? _ActionsTree : A>) => void

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
GG
AA

Declaração de Tipo

▸ (context): void

Argumento da store.$onAction()

Parâmetros
NomeTipo
contextStoreOnActionListenerContext<Id, S, G, {} extends A ? _ActionsTree : A>
Retornos

void


StoreOnActionListenerContext

Ƭ StoreOnActionListenerContext<Id, S, G, A>: _ActionsTree extends A ? _StoreOnActionListenerContext<StoreGeneric, string, _ActionsTree> : { [Name in keyof A]: Name extends string ? _StoreOnActionListenerContext<Store<Id, S, G, A>, Name, A> : never }[keyof A]

Objeto de contexto passado às funções de resposta de store.$onAction(context => {}). TODO: deve possuir apenas o identificador único (ou, Id), a memória e as ações para gerar o objeto apropriado.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
GG
AA

StoreState

Ƭ StoreState<SS>: SS extends Store<string, infer S, _GettersTree<StateTree>, _ActionsTree> ? UnwrapRef<S> : _ExtractStateFromSetupStore<SS>

Extrai o estado dum tipo de memória. Funciona com ambas memória de Composição ou uma memória de Opções. Nota que isto desembrulha as referências.

Parâmetros de Tipo

Nome
SS

SubscriptionCallback

Ƭ SubscriptionCallback<S>: (mutation: SubscriptionCallbackMutation<S>, state: UnwrapRef<S>) => void

Parâmetros de Tipo

Nome
S

Declaração de Tipo

▸ (mutation, state): void

Função de resposta duma subscrição

Parâmetros
NomeTipo
mutationSubscriptionCallbackMutation<S>
stateUnwrapRef<S>
Retornos

void


SubscriptionCallbackMutation

Ƭ SubscriptionCallbackMutation<S>: SubscriptionCallbackMutationDirect | SubscriptionCallbackMutationPatchObject<S> | SubscriptionCallbackMutationPatchFunction

Objeto de contexto passado à uma função de resposta de subscrição.

Parâmetros de Tipo

Nome
S

_ActionsTree

Ƭ _ActionsTree: Record<string, _Method>

Tipo dum objeto de ações. Apenas para uso interno. Apenas para uso interno.


_Awaited

Ƭ _Awaited<T>: T extends null | undefined ? T : T extends object & { then: (onfulfilled: F) => any } ? F extends (value: infer V, ...args: any) => any ? _Awaited<V> : never : T

Parâmetros de Tipo

Nome
T

_DeepPartial

Ƭ _DeepPartial<T>: { [K in keyof T]?: _DeepPartial<T[K]> }

Partial<T> recursivo. Usado pelo [$patch].

Apenas para uso interno

Parâmetros de Tipo

Nome
T

_ExtractActionsFromSetupStore

Ƭ _ExtractActionsFromSetupStore<SS>: SS extends undefined | void ? {} : _ExtractActionsFromSetupStore_Keys<SS> extends keyof SS ? Pick<SS, _ExtractActionsFromSetupStore_Keys<SS>> : never

Apenas para uso interno

Parâmetros de Tipo

Nome
SS

_ExtractActionsFromSetupStore_Keys

Ƭ _ExtractActionsFromSetupStore_Keys<SS>: keyof { [K in keyof SS as SS[K] extends _Method ? K : never]: any }

Tipo que ativa a refatoração através do ambiente de desenvolvimento integrado. Apenas para uso interno

Parâmetros de Tipo

Nome
SS

_ExtractGettersFromSetupStore

Ƭ _ExtractGettersFromSetupStore<SS>: SS extends undefined | void ? {} : _ExtractGettersFromSetupStore_Keys<SS> extends keyof SS ? Pick<SS, _ExtractGettersFromSetupStore_Keys<SS>> : never

Apenas para uso interno

Parâmetros de Tipo

Nome
SS

_ExtractGettersFromSetupStore_Keys

Ƭ _ExtractGettersFromSetupStore_Keys<SS>: keyof { [K in keyof SS as SS[K] extends ComputedRef ? K : never]: any }

Tipo que ativa a refatoração através do ambiente de desenvolvimento integrado. Apenas para uso interno

Parâmetros de Tipo

Nome
SS

_ExtractStateFromSetupStore

Ƭ _ExtractStateFromSetupStore<SS>: SS extends undefined | void ? {} : _ExtractStateFromSetupStore_Keys<SS> extends keyof SS ? _UnwrapAll<Pick<SS, _ExtractStateFromSetupStore_Keys<SS>>> : never

Apenas para uso interno

Parâmetros de Tipo

Nome
SS

_ExtractStateFromSetupStore_Keys

Ƭ _ExtractStateFromSetupStore_Keys<SS>: keyof { [K in keyof SS as SS[K] extends _Method | ComputedRef ? never : K]: any }

Tipo que ativa a refatoração através do ambiente de desenvolvimento integrado. Apenas para uso interno

Parâmetros de Tipo

Nome
SS

_GettersTree

Ƭ _GettersTree<S>: Record<string, (state: UnwrapRef<S> & UnwrapRef<PiniaCustomStateProperties<S>>) => any | () => any>

Tipo dum objeto de recuperadores que inferem o argumento. Apenas para uso interno. Apenas para uso interno.

Parâmetro de Tipo

NomeTipo
Sextends StateTree

_MapActionsObjectReturn

Ƭ _MapActionsObjectReturn<A, T>: { [key in keyof T]: A[T[key]] }

Apenas para uso interno

Parâmetros de Tipo

NomeTipo
AA
Textends Record<string, keyof A>

_MapActionsReturn

Ƭ _MapActionsReturn<A>: { [key in keyof A]: A[key] }

Apenas para uso interno

Parâmetros de Tipo

Nome
A

_MapStateObjectReturn

Ƭ _MapStateObjectReturn<Id, S, G, A, T>: { [key in keyof T]: Function }

Apenas para uso interno

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
Textends Record<string, keyof S | keyof G | (store: Store<Id, S, G, A>) => any> = {}

_MapStateReturn

Ƭ _MapStateReturn<S, G, Keys>: { [key in Keys]: Function }

Apenas para uso interno

Parâmetros de Tipo

NomeTipo
Sextends StateTree
Gextends _GettersTree<S>
Keysextends keyof S | keyof G = keyof S | keyof G

_MapWritableStateObjectReturn

Ƭ _MapWritableStateObjectReturn<S, T>: { [key in keyof T]: Object }

Apenas para uso interno

Parâmetros de Tipo

NomeTipo
Sextends StateTree
Textends Record<string, keyof S>

_MapWritableStateReturn

Ƭ _MapWritableStateReturn<S>: { [key in keyof S]: Object }

Apenas para uso interno

Parâmetros de Tipo

NomeTipo
Sextends StateTree

_Method

Ƭ _Method: (...args: any[]) => any

Declaração de Tipo

▸ (...args): any

Tipo genérico para uma função que infere os argumentos e retorna o tipo.

Apenas para uso interno

Parâmetros
NomeTipo
...argsany[]
Retornos

any


_Spread

Ƭ _Spread<A>: A extends [infer L, ...(infer R)] ? _StoreObject<L> & _Spread<R> : unknown

Apenas para uso interno.

Parâmetros de Tipo

NomeTipo
Aextends readonly any[]

_StoreObject

Ƭ _StoreObject<S>: S extends StoreDefinition<infer Ids, infer State, infer Getters, infer Actions> ? { [Id in `${Ids}${MapStoresCustomization extends Record<"suffix", infer Suffix> ? Suffix : "Store"}`]: Function } : {}

Apenas para uso interno.

Parâmetros de Tipo

Nome
S

_StoreWithActions

Ƭ _StoreWithActions<A>: { [k in keyof A]: A[k] extends Function ? Function : never }

Memória aumentada para as ações. Apenas para uso interno. Apenas para uso interno.

Parâmetros de Tipo

Nome
A

_StoreWithGetters

Ƭ _StoreWithGetters<G>: { readonly [k in keyof G]: G[k] extends Function ? R : UnwrapRef<G[k]> }

Memória aumentada com os recuperadores. Apenas para uso interno. Apenas para uso interno.

Parâmetros de Tipo

Nome
G

_UnwrapAll

Ƭ _UnwrapAll<SS>: { [K in keyof SS]: UnwrapRef<SS[K]> }

Tipo que ativa a refatoração através do ambiente de desenvolvimento integrado. Apenas para uso interno

Parâmetros de Tipo

Nome
SS

Variáveis

PiniaVuePlugin

Const PiniaVuePlugin: Plugin

Extensão de Vue 2 que deve ser instalada para a pinia funcionar. Nota que não precisamos desta extensão se estivermos a usar a Nuxt.js. Use buildModule: https://pinia-docs-pt.netlify.app/ssr/nuxt.html.

Exemplo

js
import Vue from 'vue'
import { PiniaVuePlugin, createPinia } from 'pinia'

Vue.use(PiniaVuePlugin)
const pinia = createPinia()

new Vue({
  el: '#app',
  // ...
  pinia,
})

Parâmetro

Vue importada a partir de 'vue'.

Funções

acceptHMRUpdate

acceptHMRUpdate<Id, S, G, A>(initialUseStore, hot): (newModule: any) => any

Cria um função de aceitação para passar ao import.meta.hot em aplicações de Vite.

Parâmetros de Tipo

NomeTipo
Idextends string = string
Sextends StateTree = StateTree
Gextends _GettersTree<S> = _GettersTree<S>
A_ActionsTree

Parâmetros

NomeTipoDescrição
initialUseStoreStoreDefinition<Id, S, G, A>retorno da defineStore para atualização instantânea
hotanyimport.meta.hot

Retornos

fn

▸ (newModule): any

Parâmetros
NomeTipo
newModuleany
Retornos

any

Exemplo

js
const useUser = defineStore(...)
if (import.meta.hot) {
  import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))
}

createPinia

createPinia(): Pinia

Cria uma instância de pinia à ser usada pela aplicação.

Retornos

Pinia


defineStore

defineStore<Id, S, G, A>(id, options): StoreDefinition<Id, S, G, A>

Cria uma função de useStore que recupera a instância da memória

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree = {}
Gextends _GettersTree<S> = {}
A{}

Parâmetros

NomeTipoDescription
idIdidentificador único da memória (deve ser único)
optionsOmit<DefineStoreOptions<Id, S, G, A>, "id">opções para definir a memória

Retornos

StoreDefinition<Id, S, G, A>

defineStore<Id, S, G, A>(options): StoreDefinition<Id, S, G, A>

Cria uma função de useStore que recupera esta a instância da memória.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree = {}
Gextends _GettersTree<S> = {}
A{}

Parâmetros

NomeTipoDescrição
optionsDefineStoreOptions<Id, S, G, A>opções para definir a memória

Retornos

StoreDefinition<Id, S, G, A>

defineStore<Id, SS>(id, storeSetup, options?): StoreDefinition<Id, _ExtractStateFromSetupStore<SS>, _ExtractGettersFromSetupStore<SS>, _ExtractActionsFromSetupStore<SS>>

Cria uma função de useStore que recupera a instância da memória

Parâmetros de Tipo

NomeTipo
Idextends string
SSSS

Parâmetros

NomeTipoDescrição
idIdidentificador único da memória (deve ser único)
storeSetup() => SSfunção que define a memória
options?DefineSetupStoreOptions<Id, _ExtractStateFromSetupStore<SS>, _ExtractGettersFromSetupStore<SS>, _ExtractActionsFromSetupStore<SS>>opções adicionais

Retornos

StoreDefinition<Id, _ExtractStateFromSetupStore<SS>, _ExtractGettersFromSetupStore<SS>, _ExtractActionsFromSetupStore<SS>>


getActivePinia

getActivePinia(): undefined | Pinia

Obtém a pinia em atividade atualmente se existir alguma.

Retornos

undefined | Pinia


mapActions

mapActions<Id, S, G, A, KeyMapper>(useStore, keyMapper): _MapActionsObjectReturn<A, KeyMapper>

Permite usar diretamente ações a partir da nossa memória sem usar a API de composição (setup()) gerando um objeto à ser propagado no campo methods dum componente. Os valores do objeto são as ações enquanto as chaves são os nomes dos métodos resultantes.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
KeyMapperextends Record<string, keyof A>

Parâmetros

NomeTipoDescrição
useStoreStoreDefinition<Id, S, G, A>store to map from
keyMapperKeyMapperobjeto para definir novos nomes para as ações

Retornos

_MapActionsObjectReturn<A, KeyMapper>

Exemplo

js
export default {
  methods: {
    // outras propriedades de `methods`
    // `useCounterStore` tem duas ações nomeadas `increment` e `setCount`
    ...mapActions(useCounterStore, { moar: 'increment', setIt: 'setCount' })
  },

  created() {
    this.moar()
    this.setIt(2)
  }
}

mapActions<Id, S, G, A>(useStore, keys): _MapActionsReturn<A>

Permite usar diretamente as ações a partir da nossa memória sem usar a API de composição (setup()) gerando um objeto à ser propagado no campo methods dum componente.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA

Parâmetros

NomeTipoDescrição
useStoreStoreDefinition<Id, S, G, A>memória a partir da qual mapear
keyskeyof A[]vetor de nomes de ação à mapear

Retornos

_MapActionsReturn<A>

Exemplo

js
export default {
  methods: {
    // outras propriedades de `methods`
    ...mapActions(useCounterStore, ['increment', 'setCount'])
  },

  created() {
    this.increment()
    this.setCount(2) // passar argumentos conforme o habitual
  }
}

mapGetters

mapGetters<Id, S, G, A, KeyMapper>(useStore, keyMapper): _MapStateObjectReturn<Id, S, G, A, KeyMapper>

Pseudónimo para mapState(). Nós deveríamos usar mapState().

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
KeyMapperextends Record<string, keyof S | keyof G | (store: Store<Id, S, G, A>) => any>

Parâmetros

NomeTipo
useStoreStoreDefinition<Id, S, G, A>
keyMapperKeyMapper

Retornos

_MapStateObjectReturn<Id, S, G, A, KeyMapper>

Deprecated

use mapState().

mapGetters<Id, S, G, A, Keys>(useStore, keys): _MapStateReturn<S, G, Keys>

Pseudónimo para mapState(). Nós deveríamos usar mapState().

Parâmetros

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
Keysextends string | number | symbol

Parâmetros

NomeTipo
useStoreStoreDefinition<Id, S, G, A>
keysreadonly Keys[]

Retornos

_MapStateReturn<S, G, Keys>

Deprecated

use mapState().


mapState

mapState<Id, S, G, A, KeyMapper>(useStore, keyMapper): _MapStateObjectReturn<Id, S, G, A, KeyMapper>

Permite usar o estado e os recuperadores a partir duma memória sem usar a API de composição (setup()) gerando um objeto à ser propagado no campo computed dum componente. Os valores do objeto são as propriedades de estado ou recuperadores enquanto as chaves são os nomes das propriedades computadas resultantes. Opcionalmente, também podemos passar uma função personalizada que receberá a memória como seu primeiro argumento. Nota que embora esta tenha acesso à instância do componente através da this, não será tipificada.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
KeyMapperextends Record<string, keyof S | keyof G | (store: Store<Id, S, G, A>) => any>

Parâmetros

NomeTipoDescrição
useStoreStoreDefinition<Id, S, G, A>memória a partir da qual mapear
keyMapperKeyMapperobjeto de propriedades de estado e recuperadores

Retornos

_MapStateObjectReturn<Id, S, G, A, KeyMapper>

Exemplo

js
export default {
  computed: {
    // outras propriedades de `computed`
    // `useCounterStore` tem uma propriedade de estado nomeada `count`
    // e um recuperador `double`
    ...mapState(useCounterStore, {
      n: 'count',
      triple: store => store.n * 3,
      // nota que não podemos usar uma função de flecha
      // se quisermos usar `this`
      custom(store) {
        return this.someComponentValue + store.n
      },
      doubleN: 'double'
    })
  },

  created() {
    this.n // 2
    this.doubleN // 4
  }
}

mapState<Id, S, G, A, Keys>(useStore, keys): _MapStateReturn<S, G, Keys>

Permite usar o estado e recuperadores a partir duma memória sem usar a API de composição (setup()) gerando um objeto à ser propagado no campo computed dum componente.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
Keysextends string | number | symbol

Parâmetros

NomeTipoDescrição
useStoreStoreDefinition<Id, S, G, A>memória a partir da qual mapear
keysreadonly Keys[]vetor de propriedades de estado e recuperadores

Retornos

_MapStateReturn<S, G, Keys>

Exemplo

js
export default {
  computed: {
    // outras propriedades de `computed`
    ...mapState(useCounterStore, ['count', 'double'])
  },

  created() {
    this.count // 2
    this.double // 4
  }
}

mapStores

mapStores<Stores>(...stores): _Spread<Stores>

Permite usar as memórias sem a API de composição (setup()) gerando um objeto à ser propagado no campo computed dum componente. Esta aceita uma lista de definições de memória.

Parâmetros de Tipo

NomeTipo
Storesextends any[]

Parâmetros

NomeTipoDescrição
...stores[...Stores[]]lista de memórias à mapear à um objeto

Retornos

_Spread<Stores>

Exemplo

js
export default {
  computed: {
    // outras propriedades de `computed`
    ...mapStores(useUserStore, useCartStore)
  },

  created() {
    this.userStore // memória com o identificador "user"
    this.cartStore // memória com o identificador "cart"
  }
}

mapWritableState

mapWritableState<Id, S, G, A, KeyMapper>(useStore, keyMapper): _MapWritableStateObjectReturn<S, KeyMapper>

O mesmo que mapState exceto que também cria definidores computados assim o estado pode ser modificado. Diferentemente de mapState(), apenas as propriedades de state podem ser adicionadas.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
KeyMapperextends Record<string, keyof S>

Parâmetros

NomeTipoDescrição
useStoreStoreDefinition<Id, S, G, A>memória a partir da qual mapear
keyMapperKeyMapperobjeto de propriedades de estado

Retornos

_MapWritableStateObjectReturn<S, KeyMapper>

mapWritableState<Id, S, G, A, Keys>(useStore, keys): { [K in Keys]: Object }

Permite usar o estado e recuperadores a partir duma memória sem usar a API de composição (setup()) gerando um objeto à ser propagado no campo computed dum componente.

Parâmetros de Tipo

NomeTipo
Idextends string
Sextends StateTree
Gextends _GettersTree<S>
AA
Keysextends string | number | symbol

Parâmetros

NomeTipoDescrição
useStoreStoreDefinition<Id, S, G, A>memória a partir da qual mapear
keysreadonly Keys[]vetor de propriedades de estado

Retornos

{ [K in Keys]: Object }


setActivePinia

setActivePinia(pinia): Pinia

Define ou desfaz a definição da pinia em atividade. Usada na interpretação do lado do servidor e internamente quando chamamos as ações e recuperadores.

Parâmetros

NomeTipoDescrição
piniaPiniainstância de pinia

Retornos

Pinia

setActivePinia(pinia): undefined

Define ou desfaz a definição da pinia em atividade. Usada na interpretação do lado do servidor e internamente quando chamamos as ações e recuperadores.

Parâmetros

NomeTipoDescrição
piniaundefinedinstância de pinia

Retornos

undefined

setActivePinia(pinia): undefined | Pinia

Define ou desfaz a definição da pinia em atividade. Usada na interpretação do lado do servidor e internamente quando chamamos as ações e recuperadores.

Parâmetros

NomeTipoDescrição
piniaundefined | Piniainstância de pinia

Retornos

undefined | Pinia


setMapStoreSuffix

setMapStoreSuffix(suffix): void

Muda o sufixo adicionado à mapStores(). Pode ser definido para uma sequência de caracteres vazia. Predefinida para "Store". Devemos certificar-nos de estender a interface MapStoresCustomization se estivermos a usar a TypeScript.

Parâmetros

NomeTipoDescrição
suffixstringnovo sufixo

Retornos

void


skipHydrate

skipHydrate<T>(obj): T

Diz a pinia para ignorar o processo de hidratação dum dado objeto. Isto é útil em memórias de composição (apenas) quando retornamos um objeto com estado na memória mas que não é de fato estado, por exemplo, retornar uma instância do roteador numa memória de composição.

Parâmetros de Tipo

NomeTipo
Tany

Parâmetros

NomeTipoDescrição
objTobjeto alvo

Retornos

T

obj


storeToRefs

storeToRefs<SS>(store): StoreToRefs<SS>

Cria um objeto de referências com todos os estados, recuperadores, e propriedades de estado adicionados por extensão da memória. Semelhante à toRefs() mas especialmente desenhado para as memórias da pinia, assim métodos e propriedades que não são reativas são completamente ignorados.

Parâmetros de Tipo

NomeTipo
SSextends _StoreWithState<string, StateTree, _GettersTree<StateTree>, _ActionsTree, SS> & StateTree & _StoreWithGetters<_GettersTree<StateTree>> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree, SS> & PiniaCustomStateProperties<StateTree, SS>

Parâmetros

NomeTipoDescrição
storeSSmemória a partir da qual extrair as referências

Retornos

StoreToRefs<SS>

Lançada sob a Licença MIT.