为何出现JSX语法错误:Expected '}'?Navbar.jsx组件报错咨询
这个错误是JavaScript模板字符串的语法使用错误,具体问题有两个:
- 你用单引号(')包裹className的内容,但模板字符串的变量插值(
${变量})必须用**反引号()**才能生效。单引号会把${isMobile && 'flex-col h-full'}当成普通字符串的一部分,导致解析器无法识别正确的语法结构,误以为flex`是意外出现的语法符号。 - 代码末尾多了一个多余的冒号(:),进一步打乱了语法结构,让解析器找不到匹配的
}。
修正后的正确写法:
<ul className={`list-none flexCenter flex-row ${isMobile && 'flex-col h-full'}`}>
额外提示:如果isMobile为false,&&会返回false,可能导致className中出现无效的false字符串,建议改用三元表达式更严谨:
<ul className={`list-none flexCenter flex-row ${isMobile ? 'flex-col h-full' : ''}`}>
内容的提问来源于stack exchange,提问作者user19322216
相关产品推荐
相关产品推荐

