首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一个反应组件中呈现多个数组的和。

在一个反应组件中呈现多个数组的和。
EN

Stack Overflow用户
提问于 2022-04-28 14:00:13
回答 1查看 224关注 0票数 0
代码语言:javascript
复制
const App = () => {
  const course = [{
    id: 1,
    name: 'Half Stack application development',
    parts: [
      {
        name: 'Fundamentals of React',
        exercises: 10,
        id: 1
      },
      {
        name: 'Using props to pass data',
        exercises: 7,
        id: 2
      },
      {
        name: 'State of a component',
        exercises: 14,
        id: 3
      }
    ]
  },
  {
    name: 'Node.js',
    id: 2,
    parts: [
      {
        name: 'Routing',
        exercises: 3,
        id: 1
      },
      {
        name: 'Middlewares',
        exercises: 7,
        id: 2
      }
    ]
  }
]

我正在尝试呈现如下所示的组件:

  • 半栈应用程序开发的基本原理: 10使用道具传递数据:7状态的一个组件: 14次总练习: 31次Node.js路由:3次中间件:7次总练习:10次

使用以下组件:

连续=({路径}) => {

代码语言:javascript
复制
return(
    <ul>
    {course.map(c => (
      <>
        <li>{c.name}</li>
        <ul>
          {c.parts.map(p =>
            <li>{p.name}: {p.exercises} {p.exercises.reduce((sum, item) => sum += item, 0))(</li>)}
        </ul>
        </>
    ))}
    </ul>
    
)

}

但是,组件不会呈现,因为它说p.exercises.reduce不是一个函数。

在每个部分之后,我如何呈现总练习量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-28 14:07:37

您将无法减少一个数字(练习是一个数字而不是数组),因此您可能不得不将呈现改为如下(如果我理解您想要做的是正确的话):

代码语言:javascript
复制
return(
    <ul>
    {course.map(c => (
      <>
        <li>{c.name}</li>
        <ul>
          {c.parts.map(p =>
            <li>{p.name}: {p.exercises} {c.parts.reduce((sum, item) => sum += item.exercises, 0))(</li>)}
        </ul>
        </>
    ))}
    </ul>
    
)

如果这有用的话请告诉我!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72045057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档