开发者问题收集

警告:失败的 propType:类型为“array”的 prop 无效,React 中预期为“object”

2016-05-06
83245

因此,这行代码会抛出类似“失败的 propType:类型为 array 的无效 prop 应为 object 。”

为什么会发生这种情况?

这是我的 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;

它显示正确。经过一番谷歌搜索,我意识到它看起来是一个数组,但实际上是一个对象。我的问题是我不知道如何修复它。我该如何消除此错误?

1个回答

const StudentRecordPropTypes = {
  studentRecordData: PropTypes.object.isRequired,
};

更改为

const StudentRecordPropTypes = {
  studentRecordData: PropTypes.array.isRequired,
};
QoP
2016-05-06