【发布时间】:2019-12-22 01:58:11
【问题描述】:
需要协助处理移动设备和桌面的导航菜单,但收到错误消息。当您收到这样的错误消息时,这意味着什么?再次遇到如何解决
第 20:21 行:解析错误:意外的令牌,应为“;”
this.hide = this.hide.bind(this);
19 |
20 | toggleShow(){
| ^
21 | this.setState({show: !this.state.show});
22 | }
完整代码:
class Navigation extends React.Component {
constructor(props) {
super(props);
this.state = {
show: false
}
this.toggleShow = this.toggleShow.bind(this);
this.hide = this.hide.bind(this);
toggleShow(){
this.setState({show: !this.state.show});
}
hide(e){
if(e && e.relatedTarget){
e.relatedTarget.click();
}
this.setState({show: false});
}
完整代码
render() {
return (
<Router>
<div className="FlexContainer NavbarContainer">
<div className="mobilecontainer LeftNav">
<h2 className="BrandName LeftNav mobileboxmenu inline">Kommonplaces</h2>
<div
className="hamburger inlinev"
onClick={this.toggleShow}
onBlur={this.hide}>
<img alt="menubtn" src={hamburger}></img>
</div>
</div>
{
this.state.show &&
(
<ul className="NavBar">
<Dropdown/>
<li className="RightNav"><Link to="/">Host Your Space</Link></li>
<li className="RightNav"><Link to="/">About Us</Link></li>
<li className="RightNav"><Link to0="/">Contact Us</Link></li>
<li className="RightNav"><Link to="/">Sign Up</Link></li>
<li className="RightNav"><Link to="/">Login</Link></li>
</ul>
)
}
</div>
</Router>
);
}
}
export default Navigation;
【问题讨论】:
-
您只能在类的主体内而不是在其构造函数内定义类似 (
toggleShow(){..}) 的函数。 -
@Titus 你什么意思?你的意思是像 ClassName 一样吗?
标签: javascript reactjs