警告:propType失败:使用React的类型为`array` expected`object`的prop

Mod*_*esq 13 javascript reactjs

因此,这行代码抛出的内容类似于"Failed propType:无效的prop类型array预期" object.

为什么会这样?

这是我的JSON:

"student_records": [
      {
        "program": "PSCI-210",
        "grade": 80
      }
    ]
Run Code Online (Sandbox Code Playgroud)

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;
Run Code Online (Sandbox Code Playgroud)

它显示正确.经过一些谷歌搜索,我意识到它寻找一个数组,但它实际上是一个对象.我的问题是我不知道如何解决它.如何删除此错误?

QoP*_*QoP 20

更改

const StudentRecordPropTypes = {
  studentRecordData: PropTypes.object.isRequired,
};
Run Code Online (Sandbox Code Playgroud)

const StudentRecordPropTypes = {
  studentRecordData: PropTypes.array.isRequired,
};
Run Code Online (Sandbox Code Playgroud)

  • 嗨@SBD 你解决了吗?我也“禁止使用数组”。废话! (2认同)