目前我是通过typeof来判断Item的类型,请教各位有没有更优雅的方法呢?
代码如下:
interface ItemConfig {
name: string,
type: string
}
type Config = ItemConfig | React.FC;
interface XProps {
config: Config[]
}
const Components = ({ config } : XProps) => {
return (
{
config.map(Item => {
if (typeof Item === "function") {
if (React.isValidElement(Item)) {
// 如果是 React 组件
return [I];
}
return null;
}
// 如果是自定义配置
...
return ...
})
}
);
}