React · Middle · Frage 4 von 75
Warum hilft memo nicht bei <List items={data} onSelect={() => select(id)} style={{ gap: 8 }} />?
- 1
memofunktioniert nicht mit Arrow Functions in Props - 2Callback und Style-Objekt werden bei jedem Rendern neu erzeugt
- 3
memokann über Props übergebene Arrays nicht vergleichen
Antwort zeigen
Richtige Antwort: Callback und Style-Objekt werden bei jedem Rendern neu erzeugt
Erklärung
Eine Inline-Funktion und ein Objektliteral sind bei jedem Rendern neue Referenzen, daher lässt der flache Vergleich sie nicht durch. Stabilisiere sie mit useCallback / useMemo oder verschiebe Konstanten aus der Komponente heraus. Der React Compiler macht das automatisch.