React遍历钻石属性数组后页面空白,求问题原因排查
问题排查与修复
下面是你代码里的几个关键错误:
数组调用错误
你写的是Array.map,这是调用Array类的静态map方法,而非你自己的钻石数组的实例方法。需要替换成你实际的数组变量名,比如如果你的数组叫diamonds,应该写成{diamonds.map(...)}。属性名大小写不匹配
你的数组对象里的属性是Carat(首字母大写),但代码里用的是diamond.carat(小写c),JavaScript是大小写敏感的,这样会取不到值,同时key使用不存在的属性也会引发问题。要改成diamond.Carat。JSX标签未闭合且无内容
你的div标签只写了开头部分,没有闭合标签,也没有在内部添加要展示的属性内容(比如Carat、Clarity等值),就算渲染成功也会显示空白。
修复后的示例代码:
// 假设你的数组变量名为diamonds {diamonds.map((diamond) => ( <div key={diamond.Carat} // 匹配属性名大小写 className="relative flex flex-col overflow-hidden bg-white border border-gray-200 rounded-lg hover:shadow-sm group" > {/* 添加要展示的内容 */} <p>重量: {diamond.Carat} 克拉</p> <p>净度: {diamond.Clarity}</p> <p>颜色: {diamond.Color}</p> </div> ))}
另外可以在map前添加可选链判断,避免数组为空或undefined时报错:
{diamonds?.map((diamond) => (...))}
内容的提问来源于stack exchange,提问作者Cemmallow
相关产品推荐
相关产品推荐

