Ви можете використовувати 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
.