react proptypes props example reactjs react-proptypes

reactjs - props - types of proptypes react



Reaccionar propTypes: objectOf vs shape? (2)

¿Cuál es la diferencia entre PropTypes.objectOf y PropTypes.shape ? En los docs :

// An object with property values of a certain type optionalObjectOf: PropTypes.objectOf(PropTypes.number)

vs

// An object taking on a particular shape optionalObjectWithShape: PropTypes.shape({ color: PropTypes.string, fontSize: PropTypes.number })

¿Cuándo debo usar objectOf y cuándo debo usar shape ?


Solo quería proporcionar un ejemplo dado el siguiente objeto:

{ petStore: { animals: { ''23'': { name: ''Snuffles'', type: ''dog'', age 13 } ''29'': { name: ''Mittens'', type: ''cat'', age: 7 } } } }

Objeto y forma

Se usa cuando un objeto puede tener diferentes nombres de propiedades, pero un conjunto consistente de propiedades para cada uno:

const animalItemShape = { name: PropTypes.string, type: PropTypes.string, age: PropTypes.number } const petStoreShape = { animals: PropTypes.objectOf(PropTypes.shape(animalItemShape)) }

Como puede ver, animals es un objeto compuesto de múltiples propiedades que se ajustan al tipo animalItemShape .

¡Espero eso ayude!


PropTypes.objectOf se usa al describir un objeto cuyas propiedades son todas del mismo tipo.

const objectOfProp = { latitude: 37.331706, longitude: -122.030783 } // PropTypes.objectOf(PropTypes.number)

PropTypes.shape se usa al describir un objeto cuyas claves se conocen de antemano y pueden representar diferentes tipos.

const shapeProp = { name: ''Jane'', age: 25 } // PropTypes.shape({ name: PropTypes.string, age: PropTypes.number })