Javascript 警告:失败的propType:类型为'array'的无效prop应为'object',带有React

Javascript 警告:失败的propType:类型为'array'的无效prop应为'object',带有React,javascript,reactjs,Javascript,Reactjs,因此,这行代码抛出类似于“Failed propType:Invalid prop of typearrayexpectedobject”的内容 为什么会这样 这是我的JSON: "student_records": [ { "program": "PSCI-210", "grade": 80 } ] jsx: import React,{PropTypes}来自'React'; 常量StudentRecordPropTypes=

因此,这行代码抛出类似于“Failed propType:Invalid prop of type
array
expected
object
”的内容

为什么会这样

这是我的JSON:

"student_records": [
      {
        "program": "PSCI-210",
        "grade": 80
      }
    ]
jsx:

import React,{PropTypes}来自'React';
常量StudentRecordPropTypes={
studentRecordData:PropTypes.object.isRequired,
};
功能线(道具){
const Records=props.studentRecordData;
返回(
{(记录| |[])。地图(学生记录=>(
  • {student_records.program}:{student_records.grade}
))} ); } StudentRecord.propTypes=StudentRecordPropTypes; 导出默认记录;
它显示正确。通过谷歌搜索,我意识到它看起来像一个数组,但实际上是一个对象。我的问题是我不知道如何修复它。如何删除此错误?

更改

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


耶,谢谢你!在不将返回函数更改为数组的情况下,您有什么建议吗?“students_records”是一个数组,所以它必须是一个数组,为什么您认为它是一个对象?如果不允许使用数组、对象或任何对象,您如何解决此问题?Hi@SBD您解决了吗?我也被“禁止使用阵法”。废话!
const StudentRecordPropTypes = {
  studentRecordData: PropTypes.object.isRequired,
};
const StudentRecordPropTypes = {
  studentRecordData: PropTypes.array.isRequired,
};