You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中JSX return报Unexpected token, expected "," 错误怎么解决?

错误原因
  • React组件return后的圆括号内直接写JS表达式时,不需要额外包裹{}。{}仅用于在JSX标签内部插入JS逻辑的场景。
  • 你当前代码在return (后直接写了{props.userInfo ? ...},JS解析器会把这层{}识别为对象字面量,尝试解析props.userInfo为对象的键,遇到后面的.自然不符合对象语法,就抛出了「期望逗号」的错误。
修复方案

直接删除外层多余的{}即可,修改后的代码如下:

export default function RequestorEligibilitySection(props) {

// Return JSX
// ----------

return (
    props.userInfo ?
    <>
        {props.small 
         ? 
            <h3>
                {props.userInfo.organizationalstat === 'EMPLOYEE' ? 'Employee' : 'Trainee'} Eligibility
            </h3> 
         : 
            <h2>
                {props.userInfo.organizationalstat === 'EMPLOYEE' ? 'Employee' : 'Trainee'} Eligibility
            </h2>
        }
        <p>Some text</p>
    </>
    : ''
);
}

如果更习惯所有逻辑都放在JSX内部的写法,也可以在外层套一层空标签<> </>,再在内部用{}包裹逻辑:

return (
  <>
    {props.userInfo ?
      <>
        {props.small 
         ? 
            <h3>
                {props.userInfo.organizationalstat === 'EMPLOYEE' ? 'Employee' : 'Trainee'} Eligibility
            </h3> 
         : 
            <h2>
                {props.userInfo.organizationalstat === 'EMPLOYEE' ? 'Employee' : 'Trainee'} Eligibility
            </h2>
        }
        <p>Some text</p>
    </>
    : ''}
  </>
);

两种写法都可以正常运行,按照团队代码风格选择即可。

内容的提问来源于stack exchange,提问作者gene b.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 05:27:03