instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
37 lines (30 loc) • 752 B
JSX
import React, {Component} from 'react'
import auto_bind from 'common/auto_bind'
import {property_toggler} from 'common/utilities'
import {touch_enabled} from 'common/constants'
class Hover extends Component {
constructor(props) {
super(props)
this.state = {
hover: false,
}
auto_bind(this)
}
onMouseEnter() {
this.setState({hover: true})
}
onMouseLeave() {
this.setState({hover: false})
}
toggleHover() {
this.setState(property_toggler('hover'))
}
render() {
return (
<div onClick={touch_enabled ? this.toggleHover : null} onMouseEnter={this.onMouseEnter} onMouseLeave={this.onMouseLeave}>
{this.props.children(this.state.hover)}
</div>
)
}
}
export default Hover