我有一个简单的组件,我正在使用prop-types
包。
验证对象数组,我使用类似:
CoursesPage.propTypes = {
courses: PropTypes.isRequired.arrayOf(PropTypes.shape({
title: PropTypes.isRequired.string,
})),
};
现在,Eslint react / require-default-props给出了courses
属性是可选的但没有默认值的错误,但如果isRequired
属于arrayOf
属性后,错误消失了。
为了使必需的道具,是否需要最后规定isRequired
财产?或者它是Eslint react / require-default-prop插件的错误?
答案 0 :(得分:2)
isRequired
应该在数据类型之后
PropTypes.string.isRequired
you can read more here
在你的情况下
CoursesPage.propTypes = {
courses: PropTypes.arrayOf(PropTypes.shape({
title: PropTypes.string,
})).isRequired
};