A <AnyEvent> component that wraps any HTML element (or subtree) and lets you define your own custom events for it - including firing when a property changes programmatically, which native DOM events don't cover. An input's value or a checkbox's checked can be set directly from JS without ever dispatching a change event; this library watches the property itself so you can react to that too.
The oldest package here, and the one that most benefited from a proper second look: the property-watching logic only ever checked for a native getter/setter on the element instance, but almost every DOM property worth watching (value, checked, selected) is actually defined on the prototype - so the exact scenario the README leads with had been silently broken. Also gone: a runtimenew Function(...) that broke under any CSP disallowing unsafe-eval, used only to set a function's name for debugging.
npm i react-any-eventLive playground