dOrgTech / dOrgTech/arc.react

Only Rerender "DAO Connected" Components

Aperta
#3 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
hi-pri perf-enhancement
Lingua principale
TypeScript
Stelle
21
Fork
9
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Only rerender components that are "DAO Connected".

This can be done through supporting a subscription model, where components that depend on additional contextual information (ex: , ).

For example, consider...
```html





{data => (

)}

```
Ideally, if Arc.Config's web3 provider changes, View1 & 2 shouldn't have to rerender, but View3 should because the data may be different. This can be partially achieved if DAO connect's the Arc.Config's subscriber list, which will cause it to be told to rerender if the config ever changes, but this only causes View1 to not be rendered. View2 would still be rendered because currently the data is stored within the Component's state (the DAO's state), which would cause View2 to still be rendered.

Going to leave this here for now, as it'll be interesting to come back to this after some metrics have been gathered, as I feel this may be premature optimization.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia esaminando il comportamento delle sottoscrizioni dei componenti descritto per Arc.Config, DAO e DAO.Data, in particolare il modo in cui gli aggiornamenti dello stato di DAO attivano nuovi render. Raccogli le metriche proposte prima di decidere se portare avanti l’ottimizzazione; il lavoro è completato quando viene stabilito un ambito misurato e concordato per eseguire nuovamente il render solo dei componenti connessi a DAO.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
react, typescript
Ambito
frontend, performance
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.