PropTypes.objectOf和有什么区别PropTypes.shape?在PropTypes中:
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 })