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

在新建对象中访问另一对象属性报Unexpected token错误如何解决?

问题根因

你遇到的是JS对象字面量语法错误,报错Parsing error: Unexpected token, expected ","是编译阶段就触发的语法解析失败,和你的JSON返回结构、React useState初始化逻辑无关。

ES6的对象属性简写规则仅支持直接传入变量名,不支持携带.属性访问符的表达式。你写的{ partner.name }不符合语法要求,有两种合法写法可以实现需求:

  1. 显式声明键值对
result.map((partner,index)=>{
    const obj = {
        name: partner.name,
        class: partner.class
    }
})
  1. 先解构属性再用简写(class是JS保留字,建议重命名避免后续踩坑)
result.map((partner,index)=>{
    const { name, class: partnerClass } = partner
    const obj = {
        name,
        partnerClass
    }
})

补充的useState代码修复方案

你填充state的代码存在完全相同的语法问题,并且要注意如果只传两个属性会覆盖state内其他原有字段,建议用扩展运算符保留原有值,修正后的代码如下:

setModalContent({
  // 保留原有state的其他字段,不需要保留可以删除这行
  ...modalContent,
  // 显式对应你初始化时定义的state键名
  partner_name: partner.partner_logo,
  coupon_image: partner.coupon_image
})

附加注意事项
  • 如果不需要使用map返回的新数组,只是遍历数据的话建议改用forEach,避免产生无用的新数组占用内存
  • 注意确认JSON返回的每个partner对象确实存在你访问的属性,避免语法修复后出现undefined相关的运行时错误

内容的提问来源于stack exchange,提问作者Altair21

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:15:05