The types for onToggle, for example in <div popover onToggle={fn} />, are typed as JSX.GenericEventHandler<HTMLDivElement> | undefined rather than JSX.ToggleEventHandler<HTMLDivElement> | undefined. This is important, because ToggleEvent has a newState and oldState field that Event does not.