restate / v1.0.0

Referencia de la API

Todos los exports de @kkwaenggwari/restate 1.0, con sus argumentos, valores de retorno y comportamiento.

En esta páginaExportsMétodos del storeMétodos del store guardadoOpciones de persistedRestateCampos de estadorestateManager y scope.managerInterfaz del adaptador de almacenamiento

Exports

Todo se importa desde @kkwaenggwari/restate en la web y en React Native.

ExportDevuelveÚsalo para
restate(initial, updater | options?)Hook del storeCrear un store compartido en memoria.
persistedRestate(initial, options)Hook del store guardadoCrear un store que se restaura y se guarda mediante el almacenamiento.
useRestateScope(factory?)Resultado de la factoría o scopeSer dueño de stores en un componente; se destruyen tras el desmontaje.
createRestateScope()RestateScopeSer dueño de stores fuera de React; llama a destroy() al terminar.
shallow(left, right)booleanComparar selecciones a un nivel de profundidad.
batch(callback)Resultado del callbackNotificar a los suscriptores una vez tras varios cambios.
restateManagerRestateManagerEsperar los datos de arranque y ejecutar operaciones masivas en los stores globales.
createIndexedDBStorage(options?)RestateStorageCrear un adaptador de IndexedDB con un nombre de base de datos o de almacén propio.
createMMKVStorage(options?)RestateStorageCrear un adaptador de MMKV con tu propia instancia o configuración.

Métodos del store

Un store es una función que llamas como hook, con estos métodos.

MiembroDescripción
useStore()Devuelve el valor completo y se vuelve a renderizar en cada cambio.
useStore(selector, isEqual?)Devuelve la selección; se vuelve a renderizar cuando isEqual (por defecto Object.is) detecta un cambio.
get()Valor actual, sin suscribirse.
set(value | updater)Reemplaza el valor o lo calcula a partir del anterior. Se ignora tras destroy().
reset()Restaura el valor inicial declarado y lo devuelve.
subscribe(listener)Llama a listener(value, previous, event) tras cada cambio; devuelve una función para cancelar la suscripción.
subscribeSelector(selector, listener, isEqual?)Llama a listener solo cuando cambia la selección.
on(type, listener)Escucha eventos como change, reset, save o error.
start() / stop() / isRunning()Controla el updater a mano.
destroy() / isDestroyed()Libera los listeners y el updater. Las suscripciones posteriores lanzan STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Valor inicial, snapshot del servidor y último error de un listener.
id / kindid único; memory o persistent.

Métodos del store guardado

persistedRestate devuelve un store con estos miembros adicionales.

MiembroDescripción
readyPromise que se resuelve cuando termina la carga automática, aunque haya fallado. Consulta status().
save()Escribe el valor actual; se resuelve con el valor que realmente se escribió.
restore()Lee el valor guardado y lo pasa a memoria.
hasSaved()Si existe un registro guardado.
clearStorage()Borra el registro guardado; la memoria no cambia.
resetAndClearStorage()Restablece la memoria al valor inicial y borra el registro guardado.
initialize()Vuelve a cargar, por ejemplo después de arreglar un registro que falló.
status()Snapshot congelado del estado; es el mismo objeto hasta que cambia un campo.
useStatus(selector?, isEqual?)Hook que se vuelve a renderizar cuando cambia el estado o la parte seleccionada.
key / storageKey / storageClave lógica, clave con espacio de nombres y adaptador en uso.

Opciones de persistedRestate

key es obligatoria. Todas las demás opciones son opcionales.

OpciónPor defectoSignificado
keyobligatoriaClave lógica del registro.
namespace"@kkwaenggwari/restate"Prefijo de la clave guardada; una cadena vacía lo desactiva.
storageIndexedDB / MMKVAdaptador que se usa en lugar del predeterminado de la plataforma.
autoSavefalsetrue guarda tras cada cambio; { delayMs } espera a una pausa.
version / migrate1 / ningunaVersión del registro y cómo actualizar los registros antiguos.
validateningunaComprueba los valores antes de guardar y después de restaurar o migrar.
serializerJSONFunciones serialize y deserialize propias.
operationTimeoutMs30000Tiempo máximo de una operación de almacenamiento.
maxPendingOperations256Operaciones pendientes permitidas, incluida la activa.
maxStorageCharacters5242880Tamaño máximo del valor codificado, en unidades de código UTF-16.
updater / managed / serverSnapshot / onError—Igual que las opciones de restate.

Campos de estado

status() y useStatus() devuelven estos campos.

CampoSignificado
readyLa carga automática ha terminado.
dirtyLa memoria difiere del último valor cargado, guardado o restaurado.
operationLa operación de almacenamiento en curso, o null.
pendingOperaciones de almacenamiento sin terminar, incluida la activa.
blockedUna llamada al adaptador cancelada o expirada aún no ha terminado.
availableSi se puede usar el almacenamiento.
error / observerErrorÚltimo error de almacenamiento; último error de un listener de estado.
lastSavedAt / lastRestoredAtMilisegundos epoch del último éxito, o null.

restateManager y scope.manager

Cada manager sigue los stores persistentes registrados en él.

MiembroDescripción
readyEspera los stores registrados en el momento del acceso; se rechaza con BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Ejecuta save o restore en todos los stores; { concurrency } limita el trabajo en paralelo.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Borra registros, restablece la memoria o ambas cosas.
list() / get(idOrKey) / size()Inspecciona los stores registrados.
subscribe(listener) / status()Observa los eventos del manager y los errores de los listeners.
destroyAll()Destruye todos los stores registrados.

Interfaz del adaptador de almacenamiento

Pasa como storage un objeto con estos métodos. Cada método puede devolver un valor o una Promise.

MétodoDescripción
getItem(key, context?)Devuelve la cadena guardada o null.
setItem(key, value, context?)Guarda la cadena.
removeItem(key, context?)Borra el registro.
isAvailable?()Indica de forma síncrona si se puede usar el almacenamiento.
clear?() / close?()Vaciado y limpieza opcionales.
coordinationKey?Objeto compartido entre envoltorios del mismo almacenamiento subyacente.

Buscar en la documentación

Busca en títulos, descripciones y texto de todas las guías.