Bubbling i przechwytywanie są obsługiwane przez React w taki sam sposób, jak opisano w specyfikacji DOM, z wyjątkiem tego, jak radzisz sobie z dołączaniem procedur obsługi.
Bubbling jest tak prosty, jak w przypadku normalnego API DOM; po prostu dołączyć obsługi do ewentualnego rodzica elementu, a wszelkie zdarzenia wywoływane na ten element będzie bańka do rodzica tak długo jak nie jest zatrzymany przez stopPropagation
wzdłuż drogi:
<div onClick={this.handleClick}>
<button>Click me, and my parent's `onClick` will fire!</button>
</div>
Przechwytywanie jest tak samo proste, choć to jest mentioned only briefly in the docs. Wystarczy dodać Capture
do obsługi zdarzeń nazwy właściwości:
<div onClickCapture={this.handleClickViaCapturing}>
<button onClick={this.handleClick}>
Click me, and my parent's `onClickCapture` will fire *first*!
</button>
</div>
W tym przypadku, jeśli handleClickViaCapturing
rozmowy stopPropagation
na razie onClick
obsługi przycisk nie zostanie wywołana.
This JSBin powinien wykazać jak przechwytywanie, pęcherzyków i stopPropagation
prace w React: https://jsbin.com/hilome/edit?js,output
wydarzenie bulgotanie to pojęcie DOM określonego zdarzenia. Celem React jest odejście od DOM. Zrobiłbyś to w React, tworząc funkcje komponentu i przekazując je dzieciom poprzez rekwizyty – azium
Zobacz [React events] (https://facebook.github.io/react/docs/events.html) i [React DOM listeners detektorów ] (https://facebook.github.io/react/tips/dom-event-listeners.html) –