Skip to content

Instantly share code, notes, and snippets.

@rudin
Last active September 28, 2016 10:22
Show Gist options
  • Save rudin/6b661471fc2a1fbef73b8ead7017ada3 to your computer and use it in GitHub Desktop.
Save rudin/6b661471fc2a1fbef73b8ead7017ada3 to your computer and use it in GitHub Desktop.
React, Swap between two children on hover
// swap children on hover
/*
<Hover>
<span>this</span>
<span>that</span>
</Hover>
*/
import React, { Component } from 'react';
export default class Hover extends Component {
constructor () {
super();
this.state = { hover: false };
}
onMouseEnterHandler () {
this.setState({ hover: true });
}
onMouseLeaveHandler () {
this.setState({ hover: false });
}
render () {
return (
<span onMouseEnter={() => this.onMouseEnterHandler()} onMouseLeave={() => this.onMouseLeaveHandler()}>
{!this.state.hover && this.props.children[0]}
{this.state.hover && this.props.children[1]}
</span>
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment