Given this contrived example, what is the best definition of componentType
?
const componentType = PropTypes.oneOfType([
PropTypes.shape({render: PropTypes.func.isRequired}), // React.createClass / React.Component ...better way to describe?
PropTypes.func, // Stateless function
// others?
]);
const Selector = React.createClass({
propTypes: {
components: PropTypes.arrayOf(componentType).isRequired,
index: PropTypes.number.isRequired,
},
render() {
const Component = this.props.components[this.props.index];
return (
<Component />
);
}
});
PropTypes.node
is not I'm looking for; its usage would look like this:
<Selector components={[<ThingA />, <ThingB />]} />
whereas I want something that would look like:
<Selector components={[ThingA, ThingB]} />
I want to pass types, not instances.