循环嵌套的对象数组,渲染不同的标记

Nul*_*rue 3 javascript reduce ecmascript-6 reactjs

我用Reactapp 打了一个兔子洞.我looping通过这个对象数组:

const weeklyClasses = [
  {
    id: 1,
    day: "Monday",
    classDescription: [
      { classType: "11am-12pm Jazz", teacher: "Joe" },
      { classType: "1pm-2pm Blues", teacher: "Doe" },
      { classType: "3pm-4pm Samba", teacher: "Zen" }
    ]
  },
  {
    id: 1,
    day: "Tuesday",
    classDescription: [
      { classType: "11am-12pm Rock", teacher: "Sis" },
      { classType: "1pm-2pm Tango", teacher: "Ter" },
      { classType: "3pm-4pm Salsa", teacher: "Soul" }
    ]
  },
  // ...
];
Run Code Online (Sandbox Code Playgroud)

我正在循环并检索所需的值,但是,当前classType输出为一个p

const Data = () => {
  return weeklyClasses.map((o, i) => {
    return (
      <div className="classDay" key={o.id}>
        {o.day}
        <div className="classType">
          {o.classType}
          //Right here
          <p>{o.classDescription.map(i => i.classType)}</p>
        </div>
      </div>
    );
  });
};
Run Code Online (Sandbox Code Playgroud)

如何将每个 输出classType作为diff p标签?

可以在地图上映射吗?(我应该,我怎么可能)使用reduce代替?

在此输入图像描述

nem*_*035 7

而不是将整个描述数组包装成一个p:

<p>{o.classDescription.map(i => i.classType)}</p>
Run Code Online (Sandbox Code Playgroud)

您可以将每个类描述元素包装为p:

{o.classDescription.map(i => <p>{i.classType}</p> )}
{/*                          ^^^             ^^^^  */}
Run Code Online (Sandbox Code Playgroud)