鑑於這個人爲的例子,componentType
的最佳定義是什麼?如何最好地定義一個propType來接受作爲道具的組件?
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
是不是我要找的;它的用法是這樣的:
<Selector components={[<ThingA />, <ThingB />]} />
,而我想要的東西,看起來像:
<Selector components={[ThingA, ThingB]} />
我想傳遞的類型,而不是實例。