Acelerador de leitura/escrita com firestore sem sacrificar Svelte reactividade

0

Pergunta

Estou construindo uma calculadora de hipoteca.

Eu tenho um Preço de Compra de campo e um Pagamento de campo. Ambos tem uma gama controle deslizante. A calculadora apresenta o Valor em Dólar (de forma reativa) enquanto você ajusta ou o preço de compra ou o pagamento.

Eu tenho Firestore no back-end, mas o envio de atualizações de entrada da gama controle deslizante para Firestore poderia ficar caro muito rápido.

Existe uma maneira para aumentar lê/escreve com Firestore sem sacrificar a natureza reativa do Svelte no front-end?

Estou a imaginar uma Esbelta armazenar entre o Ver e o Firestore mas como você sincronizar o Svelte a loja e o Firestore?

É mais complicado do que apenas uma calculadora de hipoteca, só achei que foi uma grande analogia.

Além disso, eu não preciso de dados para persistir por usuário, se eles foram para revisitar mais tarde.

svelte svelte-store
2021-11-23 00:57:12
2
1

Por que não simplesmente usar o change evento do intervalo de entrada?
Enquanto o cursor é arrastado para o valor actual é apresentado de forma reativa. Mas só quando o identificador é lançado a alteração evento é acionado e o conjunto de valor podem ser guardados para firestore > REPL

<script>
    let value="30"
    
    function handleOnChange(event) {
        console.log(event.target.value)
        //save value to firestore   
    }
</script>

<p>
    {value}
</p>
<input type="range" min="0" max="100" bind:value on:change={handleOnChange}>
2021-11-23 23:48:50

Eu acabei usando um arquivo personalizado para lidar com as atualizações através do change evento bem como a atualização Firestore no back-end (embora, debounced). Obrigado!
drupalphil

@drupalphil desde que eu estou usando firestore bem, eu estaria interessado em ver a sua solução
Corrl

Melhor resposta

1

Eu implementei uma solução sugerida por @Tonton-Blax.

Eu adicionei um arquivo Personalizado que inclui uma função que atualiza a minha Firestore banco de dados. Então eu apenas enrolado que em um debounce.

Ver REPL

Personalizado Lojas: https://svelte.dev/tutorial/custom-stores

2021-11-25 01:12:42

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................