0
我试图在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