如何在这种情况下比较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)