Programing

React propTypes : objectOf 대 shape?

lottogame 2021. 1. 6. 07:38
반응형

React propTypes : objectOf 대 shape?


PropTypes.objectOf의 차이점은 무엇입니까 PropTypes.shape? 에서 문서 :

// 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
})

언제 사용해야 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 })

다음 객체가 주어진 예를 제공하고 싶었습니다.

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

ObjectOf 및 Shape

객체가 다른 속성 이름을 가질 수 있지만 각각에 대해 일관된 속성 집합을 가질 때 사용됩니다.

const animalItemShape = {
    name: PropTypes.string,
    type: PropTypes.string,
    age: PropTypes.number
}

const petStoreShape = {
    animals: PropTypes.objectOf(PropTypes.shape(animalItemShape))
}

보시다시피 animals는 각각 animalItemShape유형을 따르는 여러 속성으로 구성된 객체 입니다.

도움이 되었기를 바랍니다.

참조 URL : https://stackoverflow.com/questions/45764746/react-proptypes-objectof-vs-shape

반응형