ReactJs le Bouton à bascule pour ouvrir le Menu
- je construire une Réagir la bascule de menu qui est déclenché par un bouton, le problème est que c'est arrivé une fois, donc si j'ai frappé à nouveau le bouton du menu encore ouverts, au lieu de fermer. je devrais inclure la fonction masquer mais ne savent vraiment comment. quelqu'un peut-il me dire ce que je dois changer?Je l'ai utilisé à partir de cet exemple Comment Construire un Glissement de Menu à l'Aide de ReactJS
Import { Menu } from '../../components';
export default class ToggleMenu extends React.Component {
showRight = () => {
this.right.show();
}
constructor(props) {
super(props);
this.showRight = this.showRight.bind(this);
}
render() {
return (
<div>
<button onClick={this.showRight}>Show Right Menu!</button>
<Menu ref={right => this.right = right} alignment="right">
<MenuItem hash="first-page">First Page</MenuItem>
<MenuItem hash="second-page">Second Page</MenuItem>
<MenuItem hash="third-page">Third Page</MenuItem>
</Menu>
</div>
);
}
}
importation de Réagir à partir de 'réagir';
export default class Menu extends React.Component {
state = {
visible: false,
};
show() {
this.setState({ visible: true });
}
hide() {
this.setState({ visible: false });
}
render() {
const { visible } = this.state;
return (
<div className="menu">
{
visible &&
<div className={this.props.alignment}>{this.props.children}</div>
}
</div>
);
}
}
Vous devez vous connecter pour publier un commentaire.
Par le déplacement de l'Etat dans le principal ToggleMenu, vous pouvez avoir cette composante de maintenir la visibilité du Menu.
Cela m'a permis de modifier votre menu dans un Apatride Composant:
J'ai créé un webpackbin ici (avec animation): https://www.webpackbin.com/bins/-Klh1VM-n4RDCkEbkK67
Pour les transitions et les animations, je vous recommande de regarder https://github.com/reactjs/react-transition-group
Ajouter un eventListener à votre bouton.
})