Not sure if there's already a good way to do this, but it would be nice to be able to do this:
PropTypes.shape({
foo: PropTypes.string.isRequired,
bar: PropTypes.number,
baz: PropTypes.bool.isRequired
});
instead of having to do this:
PropTypes.oneOfType([
PropTypes.shape({
foo: PropTypes.string,
bar: PropTypes.number,
baz: PropTypes.bool
}),
PropTypes.shape({
foo: PropTypes.string,
baz: PropTypes.bool
})
]);
The latter can get quite big if there are multiple optional values.