Ich versuche die Sichtbarkeit eines Menüs in einer React App zu ändern. Ich habe versucht, indem ich die Zustandeigenschaft setze, die ich beim Klicken ändere. Und dann überprüfe ich den Objektstatus, um die Sichtbarkeit zu ändern. Dies ist der Code:React - Umschalten der Sichtbarkeit eines Elements funktioniert nicht
constructor(props) {
super(props);
this.state = {
'menuOpen': false,
}
}
openMenu() {
var newState = !this.state.menuOpen;
this.setState({
'menuOpen': newState
});
}
var menuList = React.createClass({
render: function() {
return (
<div className={styles.menuList}>
<ul>
<li>Link</li>
<li>Link</li>
<li>Link</li>
</ul>
</div>
);
}
});
render() {
return (
<div className={styles.menu}><span className={styles.menuIcon} onClick={this.openMenu.bind(this)} />
{this.state.menuOpen ? <menuList /> : null}
</div>
);
}
ich einen Fehler:
> in ./src/components/post/index.js Module build failed: SyntaxError:
> Unexpected token (31:8)
>
> }
> var menuList = React.createClass({
> ^
Was mache ich falsch?
Groß Versuchen für den ersten Buchstaben MenuList –
Warum ist Ihre MenuList Komponente innerhalb einer Variable in der anderen Komponente der Klasse definiert? Ich bin mir ziemlich sicher, dass nur Methoden innerhalb von ES6-Klassendeklarationen erlaubt sind, keine willkürlichen 'var' Deklarationen. Versuchen Sie, Ihre 'menuList'-Komponente in eine eigene Klassendeklaration zu verschieben. – sbking