Javascript 什么是意外的象征,期待;你的意思是什么?
需要协助操作手机和桌面的导航菜单,但收到错误消息。当您收到这样的错误消息时,这意味着什么?如果再次遇到,我该如何修复它 第20:21行:分析错误:意外标记,应为“;” 完整代码:Javascript 什么是意外的象征,期待;你的意思是什么?,javascript,reactjs,Javascript,Reactjs,需要协助操作手机和桌面的导航菜单,但收到错误消息。当您收到这样的错误消息时,这意味着什么?如果再次遇到,我该如何修复它 第20:21行:分析错误:意外标记,应为“;” 完整代码: class Navigation extends React.Component { constructor(props) { super(props); this.state = { show: false } th
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;
render(){
返回(
康蒙广场
{
这个州的节目&&
(
- 托管您的共享空间
关于我们
- 联系我们
注册
登录
)
}
);
}
}
导出默认导航;
问题在于,您正在使用语法在构造函数中定义类函数。要解决此问题,请使用:
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});
}
}
在本例中,
构造函数
在定义toggleShow
之前结束,这是一个javascript语法错误。令牌是一个字符。与反应无关
您可以查看以下关于Js类的链接:
-
class Navigation extends React.Component {
constructor(props) {
super(props);
this.state = {
show: false
}
}
toggleShow() {
this.toggleShow = this.toggleShow.bind(this)
this.hide = this.hide.bind(this)
this.setState({ show: !this.state.show });
}
hide(e) {
if (e && e.relatedTarget) {
e.relatedTarget.click();
}
this.setState({ show: false });
}
}
您只能在类的主体中而不是在其构造函数中定义这样的函数(
toggleShow(){..}
)。@Titus您是什么意思?你的意思是喜欢类名吗?那么,你是说我结束了toggleShow而没有关闭或调用它。@bpdg不,我是说你不能在构造函数中使用该语法定义toggleShow
,你定义它的方式只能在类体类A{toggleShow(){..}中使用
不在构造函数内部类A{constructor(){toggleShow(){..}}
@bpdg您可以在这里找到关于该模式的详细信息:感谢您向我解释,并给我一个阅读资源
class Navigation extends React.Component {
constructor(props) {
super(props);
this.state = {
show: false
}
}
toggleShow() {
this.toggleShow = this.toggleShow.bind(this)
this.hide = this.hide.bind(this)
this.setState({ show: !this.state.show });
}
hide(e) {
if (e && e.relatedTarget) {
e.relatedTarget.click();
}
this.setState({ show: false });
}
}