import React from 'react' import { noop } from '../../func' type Effect = () => () => void function hocWithConfig
(Component: React.ComponentClass
| React.SFC
, effect: Effect) { class Composed extends React.Component
{
static displayName = `withEffect<${Component.displayName || Component.name || 'Unknown'}>`
teardown = noop
componentDidMount() {
this.teardown = effect()
}
componentWillUnmount() {
this.teardown()
}
render() {
return
} export function withEffect(effect: Effect) { return Component => hocWithConfig(Component, effect) }