Convert ManualRefresh to TypeScript

Co-authored-by: Delmer Reed <delmer814+1@gmail.com>
pull/10616/head
Jared Scheib 2018-06-22 14:07:43 -07:00
parent bcf88dd336
commit 5e6f698db4
1 changed files with 22 additions and 11 deletions

View File

@ -1,21 +1,26 @@
import React, {Component} from 'react'
import React, {Component, ComponentClass} from 'react'
const ManualRefresh = WrappedComponent =>
class extends Component {
constructor(props) {
export interface ManualRefreshProps {
manualRefresh: number
onManualRefresh: () => void
}
interface ManualRefreshState {
manualRefresh: number
}
const ManualRefresh = <P extends ManualRefreshProps>(
WrappedComponent: ComponentClass<P>
): ComponentClass<P> =>
class extends Component<P, ManualRefreshState> {
public constructor(props: P) {
super(props)
this.state = {
manualRefresh: Date.now(),
}
}
handleManualRefresh = () => {
this.setState({
manualRefresh: Date.now(),
})
}
render() {
public render() {
return (
<WrappedComponent
{...this.props}
@ -24,6 +29,12 @@ const ManualRefresh = WrappedComponent =>
/>
)
}
private handleManualRefresh = (): void => {
this.setState({
manualRefresh: Date.now(),
})
}
}
export default ManualRefresh