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

Next.js中无法映射JSON对象数据?求排查原因

你的代码存在两个关键问题,导致页面无法输出内容:

1. map 回调未返回JSX元素

你用大括号 {} 包裹了map的回调函数体,但没有显式返回<p>元素。箭头函数规则里,大括号代表函数体,必须用return指定返回内容;如果想省略return,需要改用小括号()直接包裹JSX。

修正后的渲染代码:

{backendData && backendData.map((userData) => (
  <p key={userData._id}>{userData._id}</p>
))}

或者显式添加return:

{backendData && backendData.map((userData) => {
  return <p key={userData._id}>{userData._id}</p>
})}

2. 异步状态更新的日志时机问题(非渲染失败原因,但需注意)

你在useEffect里调用fetchUserData()后立刻console.log(backendData),但setBackendData是异步操作,此时打印的backendData还是初始值null。如果要查看更新后的状态,可以单独加一个监听状态变化的useEffect:

useEffect(() => {
  console.log(backendData, 'updated data')
}, [backendData])

另外补充一个语法小问题:你的if (response.ok)后面误用了圆括号(),应该改成大括号{},虽然不影响功能,但不符合规范:

if (response.ok) {
  setBackendData(json)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:01:11