Sprudeln und Capturen werden beide von React auf die gleiche Weise wie in der DOM-Spezifikation beschrieben unterstützt, mit Ausnahme der Vorgehensweise beim Anhängen von Handlern.
Sprudeln ist so einfach wie mit der normalen DOM API; befestigen einfach einen Handler zu einem eventuellen Elternteil eines Elements, und alle Ereignisse auf dieses Element ausgelöst wird Blase auf das übergeordnete, solange es über stopPropagation
auf dem Weg nicht gestoppt ist:
<div onClick={this.handleClick}>
<button>Click me, and my parent's `onClick` will fire!</button>
</div>
Capturing genauso einfach ist, obwohl es ist mentioned only briefly in the docs. Einfach Capture
auf den Namen Event-Handler-Eigenschaft hinzufügen:
<div onClickCapture={this.handleClickViaCapturing}>
<button onClick={this.handleClick}>
Click me, and my parent's `onClickCapture` will fire *first*!
</button>
</div>
In diesem Fall, wenn handleClickViaCapturing
Anrufe stopPropagation
auf der Veranstaltung, die onClick
Handler der Schaltfläche wird nicht aufgerufen werden.
This JSBin soll zeigen, wie die Erfassung, sprudelnde und stopPropagation
Werke in Reaktion: https://jsbin.com/hilome/edit?js,output
Ereignis sprudelnden ein DOM bestimmtes Ereignis Konzept. Der ganze Sinn von React besteht darin, vom DOM wegzukommen. Sie würden dies in React tun, indem Sie Komponentenfunktionen erstellen und sie per Requisiten an die untergeordneten Elemente weiterleiten. – azium
Schauen Sie sich [Ereignisse reagieren] (https://facebook.github.io/react/docs/events.html) und [DOM-Ereignis-Listener reagieren an ] (https://facebook.github.io/react/tips/dom-event-listeners.html) –