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
}
]
}
]我正在尝试呈现如下所示的组件:
使用以下组件:
连续=({路径}) => {
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不是一个函数。
在每个部分之后,我如何呈现总练习量?
发布于 2022-04-28 14:07:37
您将无法减少一个数字(练习是一个数字而不是数组),因此您可能不得不将呈现改为如下(如果我理解您想要做的是正确的话):
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>
)如果这有用的话请告诉我!
https://stackoverflow.com/questions/72045057
复制相似问题