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

React中return语句无法渲染组件问题求助

问题原因与解决方法

核心问题出在你用了forEach遍历数组——forEach没有返回值,它仅执行回调函数,最终返回undefined,所以这段JSX本质上是在渲染undefined,页面自然看不到内容。

把forEach替换成map就能解决,因为map会返回新数组,数组里包含回调中返回的JSX元素,React可以正常渲染这个数组。

修改后的代码:

{newData?.data.map((x: any, index: number) => {
  return Object.keys(x).map((key: any) => {
    console.log(key)
    return (
      <Grid item xs={12} key={`${index}-${key}`}> 
        <TextField 
          style={{ width: "100%" }}
          required
          label={key} 
          onChange={handleOnchange(key)} 
        />
      </Grid> 
    )
  })
})}

额外提示:

  • 别用数组索引_i作为key,嵌套遍历场景下,用${外层索引}-${key}这类组合键更稳定,避免React渲染时出现组件复用错误。
  • 确认newData?.data确实是数组,且每个x对象存在可遍历的键。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:55:15