如何比较typescript类型



如何在这种情况下比较typescript类型

interface TableParams extends TableProps {
data: Array<object> | JSX.Element
}
export const BasicTable = ({ data}: TableParams) => {
if(typeof data == Array<object>){ // typeof data = object
//do something
}

if(typeof data == JSX.Element){ //typeof data = object
//do something 
}
}

因此,我可以传递一个对象数组或一个JSX元素。如果一个数组通过了道具,我想做点什么,如果一个JSX元素通过了,我想简单地返回它

您可以使用Array.isArray和(可能(instanceof

if(Array.isArray(data)){
//do something
}
if(data instanceof JSX.Element){
//do something 
}

如果instanceof不起作用,您可能只需要进行React.isValidElement(data)

最新更新