You need to enable JavaScript to run this app. React JS style属性编写条件样式时先后出现两类报错的问题求助
优惠活动
大模型
产品
解决方案
定价
更多

React JS style属性编写条件样式时先后出现两类报错的问题求助

核心错误定位
  • 第一处硬伤:你给style属性赋值了一个匿名箭头函数 () => { ... }。React的style属性只接收键值对形式的样式对象,不会自动执行传入的函数;退一步说就算这个函数能被执行,函数内部也没有写return返回值,就算执行也拿不到样式对象,因此实际传给style的是整个函数引用,触发“style需要对象而非其他类型”的报错。
  • 第二处触发ESLint报错的原因:你写的箭头函数内部是两个独立的三元表达式语句,既没有给变量赋值、也没有触发函数调用,属于无意义的独立表达式,因此ESLint提示“Expected an assignment or function call and instead saw an expression”。
修复方案

不需要用函数包裹style逻辑,直接在JSX中通过条件判断返回最终的样式对象即可,把你原有的两个亮度判断逻辑合并成统一的条件判断:

<td
  key={coluna}
  style={{
    // 满足两个任意一个条件就调低亮度
    filter: (
      (linha === 0 && coluna === e) ||
      (linha === 4 && coluna === i)
    ) ? "brightness(0.6)" : "brightness(1)"
  }}
>
  {dias_no_mes[indice++]}
</td>

补充注意点:td标签本身不支持onLoad事件,绑定在td上的onLoad回调永远不会触发,你写的变量自增逻辑完全不会执行,这部分的计数逻辑需要调整实现位置,不能依赖td的onLoad钩子。按照上述修改调整后,不需要手动添加/* eslint-disable */屏蔽校验,两处报错都会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.10 02:06:02