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

React函数组件报Expected an assignment or function call错误,新手求助

解决React中的"no-unused-expressions"报错及代码问题

别着急,我帮你一步步拆解问题,你遇到的这个报错主要是代码里的语法错误和变量引用问题导致的,咱们逐个解决:

1. 先修复数组对象的语法错误

你定义的products7数组里,第二个和第三个对象的status: true后面都缺少逗号,这会直接导致JS解析失败,进而引发后续的报错。修复后代码如下:

var products7 = [
 { name: 'Hollow Knight', id : 1, price: '3$', status : true, image: 'https://yuzu-emu.org/images/game/boxart/hollow-knight.png' },
 { name: '60 Second!', id : 2, price: '4$', status : true, image: 'https://yuzu-emu.org/images/game/boxart/hollow-knight.png' }, // 补全status后的逗号
 { name: 'Valiant Heart', id : 3, price: '5$', status : true, image: 'https://yuzu-emu.org/images/game/boxart/hollow-knight.png' }, // 补全status后的逗号
];

2. 修复map循环里的变量引用与命名冲突

你的map函数存在几个关键问题:

  • 把迭代的单个元素命名为Product7,和你要渲染的组件名重名了,会导致React混淆,建议改成小写的product(JS规范里组件名首字母大写,普通变量小写)
  • 你现在引用的products7.id、products7.image是整个数组对象,不是当前循环的单个元素,应该用迭代变量product来访问属性
  • key属性必须绑定到当前元素的唯一标识,也就是product.id,数组本身没有id属性

修复后的map代码:

let elements = products7.map((product, index) => {
 return <Product7 key={product.id} image={product.image} price={product.price} > {product.name} </Product7>
});

3. 额外建议

  • 函数组件里建议用const代替var声明变量(比如const products7 = [...]),这是React开发的通用最佳实践
  • 确保Product7组件已经被正确定义/导入,且能接收你传递的image、price、children(产品名称)这些props

按照上面的步骤修改后,那个"no-unused-expressions"的报错应该就会消失了,你可以试试看~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 14:07:42