React语法解析错误:Unexpected token,请求排查组件代码问题
React解析错误:Unexpected token 排查与修复
错误原因
- 核心问题是**
<Stack>组件未闭合**:JSX强制要求所有标签必须成对闭合或自闭合,你只写了<Stack>的起始标签,却没有添加</Stack>结束标签,导致解析器读到代码末尾时无法识别正确的结构,抛出"Unexpected token"错误。 - 你之前反复检查括号,但忽略了JSX标签的完整性,这是新手很容易踩的坑。
修正后的完整代码
const Sidebar = () => ( <Stack direction="row" sx={{ overflowY: "auto", height: { sx: 'auto', md:'95%' }, flexDirection: { md: 'column' } }}> {categories.map((category) => ( <button className="category-btn" style={{ background: category.name === selectedCategory && '#FC1503', color: 'white' }} key={category.name} > <span style={{ color: category.name === selectedCategory ? 'white' : 'red', marginRight: '15px' }}> {category.icon} </span> <span style={{ opacity: category.name === selectedCategory ? '1' : '0.8' }}> {category.name} </span> </button> ))} </Stack> );
额外优化提示
原代码中sx属性里最后一个键值对末尾多了个逗号(flexDirection: { md: 'column' },),虽然不会触发解析错误,但会导致不必要的语法警告,建议去掉。
内容的提问来源于stack exchange,提问作者thatoneguy
相关产品推荐
相关产品推荐

