import * as React from 'react'; import { Component, MouseEvent, StatelessComponent } from 'react'; import { render } from 'react-dom'; import onClickOutside from 'react-onclickoutside'; function TestStateless(props: { handleClickOutside(): void; }) { return (
Test
); } const TestStatelessWrapped = onClickOutside(TestStateless); render( console.log('Stateless HandleClickOutside')} />, document.getElementById("main") ); class TestComponent extends React.Component<{ disableOnClickOutside(): void; enableOnClickOutside(): void; }> { handleClickOutside = () => { console.log('this.handleClickOutside'); } render() { this.props.disableOnClickOutside(); this.props.enableOnClickOutside(); return (
TestComponent
); } } const WrappedComponent = onClickOutside<{}>(TestComponent); render( , document.getElementById("main") );