Utilitários de Armazenamento
Verifica se o estado nomeado está salvo e consulta as informações reais do armazenamento e da chave.
hasRxState
Verifica se um valor existe no local especificado, retornando um booleano com base no nome e nas opções de armazenamento.
const exists = await hasRxState("count", {
storage: "sessionstorage",
});
// booleanfindRxStateStorages
Ao passar apenas o nome, retorna um array de backends de armazenamento reais sem duplicatas. Valores salvos como auto também são retornados como o backend selecionado.
const storages = await findRxStateStorages("count");
// RxStateResolvedStorage[]
// 예: ["indexeddb", "localstorage", "sessionstorage"]getRxStateStorageInfo
Sempre retorna os locais de armazenamento confirmados como um array. Se o mesmo nome existir em vários storages ou em configurações diferentes de name/storeName/keyPrefix, será retornado como itens separados. Você pode passar opções de armazenamento como segundo argumento para consultar sob essas condições.
const infos = await getRxStateStorageInfo("count");
const indexedDbInfos = await getRxStateStorageInfo("count", {
storage: "indexeddb",
});
// RxStateStorageInfo[]interface RxStateStorageInfo {
key: string;
storageKey: string;
fullKey: string;
storage: RxStateResolvedStorage;
name: string;
storeName: string;
keyPrefix: string;
}storageKey é a chave do item passada para o armazenamento, e fullKey é a chave completa que pode ser verificada em backends que expõem chaves planas como localStorage. O armazenamento retornará o backend real, não auto.
Teste de operação real
Com o botão abaixo, você pode salvar o mesmo teste de chave em vários storages e verificar imediatamente os valores de retorno das três APIs.
Salvar valor de teste
Após salvar o mesmo nome em vários storages, você pode verificar os valores de retorno reais das três utilidades.
Ainda não foi executado.
Utilitários de armazenamento do Reducer
O Reducer também fornece hasRxReducer, findRxReducerStorages, getRxReducerStorageInfo da mesma forma.
await hasRxReducer("cart", { storage: "sessionstorage" });
await findRxReducerStorages("cart");
await getRxReducerStorageInfo("cart");
await getRxReducerStorageInfo("cart", { storage: "indexeddb" });