andreypopp / andreypopp/react-derivable

React bindings vs vanilla js - multiple derivations' recalculation

Aperta
#3 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
JavaScript
Stelle
122
Fork
5
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hey,

I'm playing with derivablejs and wanted to use it with your react bindings but I'm having one issue that I cannot understand. I've created simple project to better illustrate stuff https://github.com/mostr/derivablejs-react-vanilla-sandbox

**Scenario**
There is a mailbox that is empty on start. By clicking a button you can load emails and then once loaded you can click single email to mark it as read. Emails are loaded as "map" keyed by their `id`. To render them it's better to have them as list, that's why there is derivation `emailsAsList` that is used to render stuff.

**Problem**

React version seems to be calling derivations' calculation multiple times even if nothing was really changed in the meantime (so as I understand, previous value should be reused). This is not the case with vanilla JS implementation, where calculations are only called once (when required).

There is `console.log` statement in derivation calculation function that allows observing when it gets called.

**Question**
Is there something I don't get in how react bindings work here or I do something wrong? Would be great if you could advise me on that a bit. Thank!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.