为了账号安全,请及时绑定邮箱和手机立即绑定

React 中嵌套数组数据如何渲染到前端页面

React 中嵌套数组数据如何渲染到前端页面

达令说 2018-10-19 18:15:32
现在有后端提供的类似下面这种格式的数据{    status:X,     body:         [             {year: 2017, month: [December, October, ...]}             {year: 2016, month: [December, October, ...]}             {year: 2015, month: [December, October, ...]}             ...         ] }需要在 React 中渲染成<SubMenu key={year} title={<span>{year}</span>}>    <Menu.Item key={month}>{month}</Menu.Item>    <Menu.Item key={month}>{month}</Menu.Item> </SubMenu> <SubMenu key={year} title={<span>{year}</span>}>    <Menu.Item key={month}>{month}</Menu.Item>    <Menu.Item key={month}>{month}</Menu.Item> </SubMenu>...我目前可以想到的是用 map,可以做到把 year 渲染出来:    this.state = {      year: data.body.map((x) => { return x.year }),     }    const dateList = this.state.year.map((item, index) => {      return (             <SubMenu key={index} title={<span>{item}</span>}>           xxxx        </SubMenu>       )     });但是对应的 month 我不知道该如何才能渲染进不同的 <Menu.Item></Menu.Item>中去了,希望高手能指点一下,十分感谢。
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

this.setState({

  date: data.body,

});


const dateList = this.state.date.map((item) => {

  return (

    <SubMenu key={item.year} title={<span>{item.year}</span>}>

      {item.month.map((item) => {

        return (

          <Menu.Item key={item}>{item}</Menu.Item>

        )

      })}

    </SubMenu>

  )

});

之前总想着要把 year 和 month 单独弄出来,是个误区


查看完整回答
反对 回复 2018-11-30
  • 1 回答
  • 0 关注
  • 635 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信