【发布时间】:2019-12-14 18:52:12
【问题描述】:
我正在尝试为我的 react 应用创建切换菜单。
我遇到了“getInitialState()”的一些问题。它的显示错误如下:
警告:getInitialState 是在 Header 上定义的,一个纯 JavaScript 班级。这仅支持使用创建的类 React.createClass。您的意思是定义一个 state 属性吗?*
这是我的代码:
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});
}
}
我该如何解决这个问题?
【问题讨论】:
-
是的,我已经导入了
-
尝试调用 onClick={this.toggleSidenav.bind(this)} 作为 onClick={(e)=> this.toggleSidenav(e)}
-
似乎这是一个重复的问题:stackoverflow.com/questions/30720620/…你有没有提到这个?
标签: reactjs