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

React嵌套数据结构双层循环时动态渲染元素失败问题求助

React动态渲染元素不显示问题解决

核心错误原因

  • 第一层map没有返回内部遍历生成的JSX数组,导致最终textSectionValues的每个元素都是undefined,React不会渲染空值
  • 取值逻辑错误:Object.values(values)遍历得到的item已经是完整的主题文本字符串,不需要再加[index]取字符,该写法只会返回字符串对应下标的单个字符

修正后代码

方式1:保留原有结构补全return

const textSectionValues = valuesText.map((data) => {
  const values = data[props.language]
  // 补全return,把内部map生成的JSX数组返回给外层map
  return Object.values(values).map((item, index) => {
    // 给列表元素加key,符合React规范避免警告
    return <div className="hero_section_values_container" key={index}>
              <h3>{item}</h3>
          </div>
  })
})

方式2:优化冗余的外层map

因为valuesText数组只有一个对象元素,可以直接取第一个元素减少一层遍历:

const AboutUs = (props) => {
  // 直接取第一个元素对应语言的文本数组
  const valueList = Object.values(valuesText[0][props.language])

  return(
      <section className="about_us_section">
           {valueList.map((item, index) => (
             <div className="hero_section_values_container" key={index}>
               <h3>{item}</h3>
             </div>
           ))}
      </section>
  )
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:18:03