คุณสามารถใช้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,
}
ดูส่วนการตรวจสอบความถูกต้องของเอกสารประกอบ
UPDATE
ตั้งแต่การ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,
}
.isRequiredReact.PropTypes.shapeฉันมาที่นี่เพราะฉันคิดว่าผิดโดยใช้.isRequiredบนReact.PropTypes.arrayOfฉันไม่ต้องการมัน เพื่อให้เกิดการตรวจสอบความครอบคลุมทั้งหมดฉันได้ลงทะเบียนโดยตรงกับมันReact.PropTypes.shapeเช่นกัน