1. ホーム
  2. reactjs

[解決済み] React propTypes: objectOf vs shape?

2023-01-17 17:55:57

質問

とはどう違うのでしょうか? PropTypes.objectOfPropTypes.shape ? の中で PropTypes :

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