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

React如何从接口嵌套数组提取persons数据存入state并渲染人名

问题原因

res.data.peoples是数组类型,persons是数组每个元素下的子属性,不能直接通过数组本身访问persons,需要遍历peoples数组收集所有子级persons数据。

代码修改方案

修改axios请求的回调逻辑,合并所有persons数组为一维数组后存入state:

axios
  .get(
    "url",
    config
  )
  .then((res) => {
    // 合并所有peoples子项的persons数组
    const allPersons = res.data.peoples.flatMap(item => item.persons)
    this.setState({ items: allPersons })
  })

如果运行环境不支持flatMap,可以替换为兼容写法:

const allPersons = [].concat(...res.data.peoples.map(item => item.persons))

JSX遍历渲染示例

后续在组件渲染时直接遍历items即可输出所有人名:

render() {
  return (
    <div>
      {this.state.items?.map(person => (
        <p key={person.id}>{person.name}</p>
      ))}
    </div>
  )
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:48:02