React语法错误求助:Unexpected Token, expected } 问题排查
你的React导航栏组件语法错误原因分析
让我帮你拆解下这个语法错误的核心原因,顺便把代码里的其他小问题也指出来:
JSX标签未正确闭合(直接触发当前语法错误):在登录状态的分支里,你写的
<NavItem>Logged in as: {this.state.logInName}<NavItem>没有正确闭合标签,应该把最后一个<NavItem>改成</NavItem>(加上斜杠)。这个错误让JSX解析器无法正确识别代码结构,直接抛出了你看到的Unexpected token, expected }错误,也就是提示的15行63位的问题。类组件构造函数缺少
super()调用:你的NavbarMain类组件的构造函数里没有调用super(),在React类组件中,构造函数必须先调用super()才能使用this,否则会导致后续运行时错误。另外别忘了接收props参数,正确的写法应该是:
constructor(props){ super(props); this.state={isLoggedIn:false,logInName:null} }
- 变量名大小写不匹配:你在
render里定义的是小写的button和label变量,但在返回的JSX里写的是{Label} {Button}——JavaScript是大小写敏感的,这样会找不到对应的变量,得改成{label} {button}才能正确渲染。
内容的提问来源于stack exchange,提问作者Tornado547
相关产品推荐
相关产品推荐

