因此,这行代码抛出的内容类似于“Failed propType:类型数组预期对象的无效prop”.
为什么会这样?
这是我的JSON:
"student_records": [
{
"program": "PSCI-210","grade": 80
}
]
JSX:
import React,{ PropTypes } from 'react';
const StudentRecordPropTypes = {
studentRecordData: PropTypes.object.isrequired,};
function StudentRecord(props) {
const Records = props.studentRecordData;
return (
<div>
{(Records || []).map(student_records => (
<ul>
<li>{student_records.program} : {student_records.grade} </li>
</ul>
))}
</div>
);
}
StudentRecord.propTypes = StudentRecordPropTypes;
export default StudentRecord;
它显示正确.经过一些谷歌搜索,我意识到它寻找一个数组,但它实际上是一个对象.我的问题是我不知道如何解决它.如何删除此错误?
解决方法
更改
const StudentRecordPropTypes = {
studentRecordData: PropTypes.object.isrequired,};
至
const StudentRecordPropTypes = {
studentRecordData: PropTypes.array.isrequired,};