我想返回對象中每個數組內的數據。訪問和返回對象內的對象數組時出現類型錯誤
這是我的JSON:
"student_clubs": { // brought in as object
"art": { // object
"illustration": ["Done"], // Array
"design": ["Done"] // Array
},
"sports": { // object
"Basketball": ["Incomplete"], // Array
"Hockey": ["Done"] // Array
}
},
我想是這樣顯示的:
art:
illustration: done design: done
sports:
Basketball: Incomplete Hockey: Done
我JSX:
import React, { PropTypes } from 'react';
const ClubsPropTypes = {
student_clubs: PropTypes.object.isRequired,
student_grades: PropTypes.object.isRequired,
};
class Clubs extends React.Component {
render() {
const StudentClubs = this.props.student_clubs;
const Grades = this.props.grades;
return (
<div className="">
{(StudentClubs.art || []).map(art => (
<div className="row">
<ul>
<p>art</p>
<li>illustration: {art.illustration}</li>
<li>design: {art.design}</li>
</ul>
</div>
))}
... same code for sports (seems repetitive)
</div>
);
}
}
Clubs.propTypes = ClubsPropTypes;
module.exports = Clubs;
現在我越來越Uncaught TypeError: (StudentClubs.art || []).map is not a function
。這是爲什麼?我怎樣才能解決這個問題?還有更好的方法來循環這些對象嗎? :\
藝術是一個不是數組的對象,您需要使用Object.keys()將其轉換爲數組 –