一箇所で使う場合は個別のコンポーネントに記載すれば良いが、別の場所で利用する場合に同じ内容を各コンポーネントで記述するのは冗長になる。
なので対象オブジェクトのPropTypesを定義したconstを定義しておき、利用すれば良い。
const hogePropTypes = PropTypes.shape({
foo: PropTypes.string.isRequired,
bar: PropTypes.bool
})
const HogeComponent = (props) => {(...)}
HogeComponent.propTypes = {
piyo: PropTypes.string.isRequired,
bar: hogePropTypes,
}
APIのModelから動的に生成してくれたりするライブラリないかな...