programing

React propTypes: 오브젝트 오브 쉐이프?

lastmemo 2023. 3. 22. 20:39
반응형

React propTypes: 오브젝트 오브 쉐이프?

와의 차이는 무엇입니까?PropTypes.objectOf그리고.PropTypes.shapePropTypes:

// 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?

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

오브젝트 오브 및 쉐이프

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

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

반응형