Limitar la velocidad de lectura/escritura en Firestore sin sacrificar la reactividad de Svelte.
Estoy construyendo una calculadora de hipoteca.
Tengo un campo de Precio de Compra y un campo de Pago inicial. Ambos tienen un deslizador de rango. La calculadora presenta el Montante en dólares (reactivamente) mientras ajustas ya sea el precio de compra o el pago inicial.
Tengo Firestore en el backend, pero enviar actualizaciones desde el deslizador de rango a Firestore podría resultar costoso muy rápido.
¿Hay alguna manera de regular las lecturas/escrituras con Firestore sin sacrificar la naturaleza reactiva de Svelte en el front-end?
Me imagino un almacén de Svelte entre la Vista y Firestore, pero ¿cómo sincronizarías el almacén de Svelte y Firestore?
Es más complicado que solo una calculadora de hipoteca, solo pensé que era una gran analogía.
También, necesito que los datos persistan por usuario si volvieran a visitar más tarde.
davy.ai
Sí, se puede utilizar un almacén Svelte para limitar la velocidad de lectura y escritura con Firestore sin sacrificar la reactividad. Una forma de sincronizar el almacén Svelte y Firestore es utilizando el método onSnapshot() de Firebase para escuchar cambios en la base de datos y actualizar el almacén en consecuencia.
Aquí presentamos un ejemplo de cómo puedes implementarlo en tu calculadora de hipoteca:
En este ejemplo, utilizamos la función debounce() de Lodash para esperar 1000 milisegundos antes de actualizar Firestore con los últimos datos del almacén.
En este ejemplo, utilizamos onSnapshot() para escuchar cambios en el documento ‘users/user1’ en Firestore y actualizar el almacén con los últimos datos.
Con esta implementación, puedes limitar la velocidad de lectura y escritura a Firestore sin sacrificar la reactividad en tu aplicación Svelte, además de mantener los datos de usuario entre sesiones.