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

React如何将数组元素渲染为多个独立标签而非放在同一个标签内

解决方案

修改后的代码如下:

let functionSupplement = ProductDetail && ProductDetail.chart?.functionalsInfo?.[0].materialsInfo.map(array => array.ingredientsInfo?.[0].mFunctionalDisplayText) || [];

// 可选:如果需要过滤空值、undefined等无效项,可补充下面这行避免渲染空p标签
// functionSupplement = functionSupplement.filter(Boolean);

console.log(functionSupplement) // (2) ["Hi","Hi"]
   
return (
  <div>
    {functionSupplement.map((text, index) => (
      <p key={index}>{text}</p>
    ))}
  </div>
)

修改说明

  • 给functionSupplement增加了兜底逻辑|| [],避免变量为undefined时遍历报错
  • 在JSX中直接调用数组的map方法遍历每一项,给每一项单独用<p>标签包裹,即可实现每个数组元素独占一个p标签的效果
  • 给每个<p>标签添加了key属性,符合React列表渲染的规范要求,如果可以保证每个text值唯一,将key替换为key={text}会获得更好的渲染性能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:48:04