PropTypes.objectOf和之间有什么区别PropTypes.shape?在文档中:
PropTypes.objectOf
PropTypes.shape
// An object with property values of a certain type optionalObjectOf: PropTypes.objectOf(PropTypes.number)
与
// An object taking on a particular shape optionalObjectWithShape: PropTypes.shape({ color: PropTypes.string, fontSize: PropTypes.number })
什么时候应该使用objectOf,什么时候应该使用shape?
objectOf
shape
PropTypes.objectOf 用于描述其属性均为相同类型的对象。
const objectOfProp = { latitude: 37.331706, longitude: -122.030783 } // PropTypes.objectOf(PropTypes.number)
PropTypes.shape 用于描述对象的键事先已知的对象,并且可以表示不同的类型。
const shapeProp = { name: 'Jane', age: 25 } // PropTypes.shape({ name: PropTypes.string, age: PropTypes.number })