警告:propType失败:使用React

时间:2016-05-06 02:47:31

标签: javascript reactjs

所以这行代码抛出了'失败的propType:类型为array的无效道具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 个答案:

答案 0 :(得分:15)

更改

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

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