反应propTypes:objectOf与形状?

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?什么时候应该使用?