React · Senior · Frage 73 von 75
Warum kann onClick={() => select(item.id)} memo bei 1000 Listenzeilen aushebeln?
- 1Arrow Functions lassen sich deutlich langsamer aufrufen als normale
- 2
memofunktioniert nicht mit Komponenten, die in Listen gerendert werden - 3Jedes Rendern erzeugt neue Funktionen, also ändern sich die Props jeder Zeile
Antwort zeigen
Richtige Antwort: Jedes Rendern erzeugt neue Funktionen, also ändern sich die Props jeder Zeile
Erklärung
Übergib ein stabiles onSelect (per useCallback) und die id als getrennte Props; die Zeile ruft onSelect(id) auf. Der React Compiler kann das automatisieren.