Reactアプリケーションでメニューの表示を切り替えようとしています。私はクリック時に変更する状態プロパティを設定してみました。そして、オブジェクトの状態をチェックして可視性を切り替えます。これはコードです:React - 要素の非表示を切り替える
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>
);
}
私はエラーを取得する:
> in ./src/components/post/index.js Module build failed: SyntaxError:
> Unexpected token (31:8)
>
> }
> var menuList = React.createClass({
> ^
は私が間違って何をしているのですか?
は、最初の文字メニューリスト –
のための大文字をお試しください!私は、ES6クラス宣言の中では、 'var'宣言ではなくメソッドしか許されないと確信しています。 'menuList'コンポーネントを独自のクラス宣言に移動してみてください。 – sbking