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