Implement react SyntheticEvent dispatch #98
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implementing react's SyntheticEvent dispatch algorithm and data types enables
the use of a wide variety of react components. My personal motivation is
react-hotkeys
, which requiresblur
,focus
, andkey*
events.react-dom
does this by mapping the react event names to native eventsubscriptions that are required to satisfy them. Then, react-dom pushes them
through its event plugin hub, where plugins transform the native event to
react events. The generated events then go through the capture and bubble
phases.
This set of changes implements most of this in a simpler fashion. It would have
been nice to simply steal
react
'sevents
package, but it is still private.This set of changes also copies react's SyntheticEvent data types as of 16.8.6.
With this change, the included example works.