Ви можете використовувати React.PropTypes.shape()як аргумент для React.PropTypes.arrayOf():
// an array of a particular shape.
ReactComponent.propTypes = {
arrayWithShape: React.PropTypes.arrayOf(React.PropTypes.shape({
color: React.PropTypes.string.isRequired,
fontSize: React.PropTypes.number.isRequired,
})).isRequired,
}
Див. Розділ « Підтвердження підтримки» документації.
ОНОВЛЕННЯ
Станом react v15.5, використовуючи React.PropTypesзасуджується і пакет автономний prop-typesповинен використовуватися замість:
// an array of a particular shape.
import PropTypes from 'prop-types'; // ES6
var PropTypes = require('prop-types'); // ES5 with npm
ReactComponent.propTypes = {
arrayWithShape: PropTypes.arrayOf(PropTypes.shape({
color: PropTypes.string.isRequired,
fontSize: PropTypes.number.isRequired,
})).isRequired,
}
.isRequiredкожної властивостіReact.PropTypes.shape. Я приїхав сюди , бо я помилково припустив , що при використанні.isRequiredнаReact.PropTypes.arrayOf, мені не потрібно це всередині. Для досягнення повної перевірки покриття я фактично також застосував його безпосередньоReact.PropTypes.shape.