React · Senior · Frage 14 von 75
Wofür ist useEffectEvent da?
- 1Um einen Effekt nur als Reaktion auf einen Klick laufen zu lassen, nicht nach dem Rendern
- 2Um in einem Effekt die neuesten Props und den Zustand zu lesen, ohne sie zu Abhängigkeiten zu machen
- 3Um einen Effekt ohne
addEventListenerfür native DOM-Events zu abonnieren
Antwort zeigen
Richtige Antwort: Um in einem Effekt die neuesten Props und den Zustand zu lesen, ohne sie zu Abhängigkeiten zu machen
Erklärung
Beispiel: Ein Effekt für die Chat-Verbindung hängt von roomId ab, und beim Verbinden soll eine Benachrichtigung mit dem aktuellen theme erscheinen. theme als Abhängigkeit würde den Chat bei jedem Theme-Wechsel neu verbinden. const onConnected = useEffectEvent(() => notify(theme)) sieht immer das frische theme, ist aber nicht reaktiv.