我正在尝试为我的应用创建切换菜单。
我遇到“ getInitialState()
”问题。显示错误,例如:
警告:getInitialState是在标头(普通的JavaScript)上定义的 类。仅使用 React.createClass。您是不是要定义状态属性?*
这是我的代码:
class Header extends Component {
constructor(props){
super(props);
}
getInitialState(){
return {"showHideSidenav":"hidden"};
}
render() {
return (
<div className="header">
<div className="toggle-btn" onClick={this.toggleSidenav.bind(this)}>
<div>
<span></span>
<span></span>
<span></span>
</div>
<span>Menu</span>
</div>
<div className={this.props.showHideSidenav} id="main-menu">
<ul>
<li>
1
</li>
<li>
2
</li>
<li>
3
</li>
<li>
4
</li>
</ul>
</div>
</div>
)
}
toggleSidenav() {
var css = (this.props.showHideSidenav === "hidden") ? "show" : "hidden";
this.setState({"showHideSidenav":css});
}
}
我该如何解决?
答案 0 :(得分:2)
我想您可以在这里找到答案-> React, ES6 - getInitialState was defined on a plain JavaScript class
摘要:
如果使用扩展React.Component
的es6类,则需要在构造函数中定义状态:
this.state = {...}
es5 getInitialState()
函数中使用了 React.createClass
。