Merken Sie den App-weiten ungelesenen Wert, fixieren Sie einen selbst-retriggering-Effekt

Performancekamo-internal
Shipped
26. August 2026 um 02:40 UTC
Author
kamo
Commit
d8ab7f4

UnreadContext veröffentlichte ein vierzehnköpfiges Objekt wörtlich als Kontextwert, also Reagieren sah den Kontext auf jedem Render des Anbieters ändern und weckte jeden Verbraucher zu Hand sie das gleiche zählt. Es ist app-weit in AuthedChrome montiert und vom niv gelesen Abzeichen, die Chat-Oberflächen und die Hex-Köpfe, so "jeder Verbraucher" ist ein breiter Fan. Alle vierzehn Mitglieder sind useCallback'd oder abgeleiteten Zustand, so dass die Abmeldung nur den Wert ändert wenn sich etwas bewegt hat, das ein Verbraucher tatsächlich sehen kann. VirtualMessageList's Load-more-Effekt gelistet "virtualizer.getVirtualItems() " in seiner eigenen Abhängigkeits-Array. Diese Methode baut und gibt ein NEUES Array auf jedem Anruf, so dass die Abhängigkeit war eine neue Referenz auf jeden Render und der Effekt wieder in jedem Mal, Re-Vergleich von Indizes hatte es bereits in der Nachrichtenliste auf jeder Schriftrolle verglichen Rahmen. Worauf es tatsächlich ankommt, ist, wie weit die Liste gescrollt wurde, die eine ist Zahl; es hängt von dieser Zahl jetzt ab. Der gleiche Ruf wird auch für die Reihen wiederverwendet, anstatt ein zweites Mal weiter gemacht zu werden nach unten das Render. Verifiziert: tsc --noEmit sauber über UnreadContext, VirtualMessageList und AuthedChrome mit ihre transitiven Importe; alle 9 Wachen bestehen; 36 Tests über die Chat-und Nachrichten-Suiten Pass.

All changes

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen