2017-02-01 3 views
1

Einfache Frage, sollte ich einen neuen Listener jedes Mal hinzufügen, wenn es aktualisiert wird, oder nur beim ersten Rendern. Ich verstehe nicht, wie der Schatten dom funktioniert, und wenn ich es müssen alleReagiere addEventListener beim Mounten oder Aktualisieren?

Dank

+0

Ihre Frage ist nicht sehr klar. Können Sie weitere Informationen bereitstellen? – VJAI

Antwort

1

Alle Veranstaltungen in here sind hinzufügen, nachdem machen:

Sehr einfach. Das React-DOM ist eine Abstraktion des Browser-DOM, die auch eine Abstraktion der On-Page-Elemente darstellt. React DOM ist also eine Abstraktion einer Abstraktion.

Und alle Ereignisse, die wir in React haben, sind keine systemeigenen Browser-Ereignisse. Sie werden synthetische Ereignisse genannt. Das Ereignissystem ist ein Wrapper für native Browser-Ereignisse, um die Plattformunabhängigkeit zu unterstützen.

Sobald Sie die definieren Reagieren Component React.Component Syntax, sind Sie auch so alle Event-Listener in Freiheit zu setzen:

// somewhere inside render 
return (
    <a href="#" onClick={handleClick}> 
     Click me 
    </a> 
); 

Dieser Code wird übertragen React.createElement mit und wird innerhalb Reagieren DOM bleiben.

Wenn Sie den Komponentenlebenszyklus überprüfen, sehen Sie, dass render() sowohl in Mount als auch in Update ist.

enter image description here

Hoffentlich beantwortet diese Ihre Suche.

Verwandte Themen