React · Senior · Frage 22 von 75
Du musst eine Liste mit 100 000 Einträgen rendern. Was tust du?
- 1Die Einträge per
setTimeoutin Paketen zu 1000 rendern - 2Jeden Eintrag in
memopacken und alles auf einmal rendern - 3Virtualisieren: nur die sichtbaren Einträge im DOM halten
Antwort zeigen
Richtige Antwort: Virtualisieren: nur die sichtbaren Einträge im DOM halten
Erklärung
Der Engpass ist die Anzahl der DOM-Knoten. Virtualisierung (TanStack Virtual, react-window) rendert ein Fenster sichtbarer Zeilen und tauscht sie beim Scrollen. memo verringert das DOM nicht, und Timer-Pakete strecken nur dieselbe Arbeit. Erwäge auch Paginierung oder serverseitiges Filtern.