微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React:用嵌套数组映射对象数组

如何解决React:用嵌套数组映射对象数组

我已经筛选了一些已经回答过的问题并学到了很多东西,但我仍然遇到了格式问题。

我的组件设置完成后,我正在渲染:

半栈应用开发

Node.js

  1. 列表项
  2. 列表项
  3. 列表项
  4. 列表项
  5. 列表项

这就是我试图渲染的内容

半栈应用开发

  1. 列表项
  2. 列表项
  3. 列表项

Node.js

  1. 列表项
  2. 列表项

我正在映射的数据

const courses = [
   {
     name: "Half Stack application development",id: 1,parts: [
       {
         name: "Fundamentals of React",exercises: 10,},{
         name: "Using props to pass data",exercises: 7,id: 2,{
         name: "State of a component",exercises: 14,id: 3,{
         name: "Redux",exercises: 11,id: 4,],{
     name: "Node.js",parts: [
       {
         name: "Routing",exercises: 3,{
         name: "Middlewares",];

我的组件

const Header = ({ course }) => {
  return (
    <div>
      {course.map((course) => {
        return <h1>{course.name}</h1>;
      })}
    </div>
  );
};
const Course = ({ course }) => {
  return (
    <div>
      <Header course={course} />
      <ul>
        {course.map((item) => {
          return item.parts.map((item) => {
            return (
              <li>
                {item.name} {item.exercises}
              </li>
            );
          });
        })}
      </ul>
    </div>
  );
};

我对主要组件的调用

 return (
    <div>
      <Course course={courses} />
    </div>
  );

希望我的问题很明显,我无法弄清楚如何转到数组中的每个对象并使标题后跟下面列出的部分数组名称

如果需要,很高兴提供更多信息,我已经坚持了三天!

作为参考,这是来自 Full Stack Open 2021 课程。此处链接https://fullstackopen.com/en/part2/rendering_a_collection_modules#exercises-2-1-2-5

解决方法

您需要通过课程映射并在循环内显示标题,然后循环访问部分

courses.map(course => {
 return (
   <div>
   <Header course={course.name}/>   
   {
    course.parts.map(part => display part here)
   }
   </div> 
 )
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。