Browse Source

Update 2020-08-10-react-v17-rc.md (#3190)

Use modern syntax for a capture-phase event listener example: flags object rather than raw boolean
main
Craig Kovatch 5 years ago
committed by GitHub
parent
commit
4ac8fd7f35
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      content/blog/2020-08-10-react-v17-rc.md

4
content/blog/2020-08-10-react-v17-rc.md

@ -94,13 +94,13 @@ document.addEventListener('click', function() {
});
```
You can fix code like this by converting your listener to use the [capture phase](https://javascript.info/bubbling-and-capturing#capturing). To do this, you can pass `true` as the third argument to `document.addEventListener`:
You can fix code like this by converting your listener to use the [capture phase](https://javascript.info/bubbling-and-capturing#capturing). To do this, you can pass `{ capture: true }` as the third argument to `document.addEventListener`:
```js
document.addEventListener('click', function() {
// Now this event handler uses the capture phase,
// so it receives *all* click events below!
}, true);
}, { capture: true });
```
Note how this strategy is more resilient overall -- for example, it will probably fix existing bugs in your code that happen when `e.stopPropagation()` is called outside of a React event handler. In other words, **event propagation in React 17 works closer to the regular DOM**.

Loading…
Cancel
Save