Skip to content

Instantly share code, notes, and snippets.

@gagamil
Last active January 6, 2018 11:26
Show Gist options
  • Save gagamil/a7e50ce0258916b3b0f46ea79bba2856 to your computer and use it in GitHub Desktop.
Save gagamil/a7e50ce0258916b3b0f46ea79bba2856 to your computer and use it in GitHub Desktop.
React container component (without HOC)
class NavBar extends Component {
constructor(props){
super(props);
this.state = {showMenu:false};
}
render(){
const show = this.state.showMenu ? "show" : "";
return(
<nav className="navbar navbar-expand-md navbar-dark bg-dark mb-4">
<a className="navbar-brand" href="#">Top navbar</a>
<__MenuToggleButton onToggle={this.toggle.bind(this)}/>
<div className={`${show} collapse navbar-collapse`} id="navbarCollapse">
<ul className="navbar-nav mr-auto">
<li className="nav-item active">
<a className="nav-link" href="#">Home <span className="sr-only">(current)</span></a>
</li>
<li className="nav-item">
<a className="nav-link" href="#">Link</a>
</li>
<li className="nav-item">
<a className="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
</nav>
)
}
toggle(){
this.setState({showMenu:!this.state.showMenu});
}
}
@gagamil
Copy link
Author

gagamil commented Jan 6, 2018

Related to my article

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment