Javascript 如何在TypeScript中映射多个类型的数组?
如果我有一个变量,它的类型是可以接受多种类型的数组Javascript 如何在TypeScript中映射多个类型的数组?,javascript,reactjs,typescript,ecmascript-6,Javascript,Reactjs,Typescript,Ecmascript 6,如果我有一个变量,它的类型是可以接受多种类型的数组 type myData = (RedType | BlueType)[]; //`const data` is of type myData 我正在用条件对类型执行手动检查,以便对变量数据执行一些逻辑 {data.map((element, index) => { if (isRed(element)) { return <Red data={element} key={index}
type myData = (RedType | BlueType)[];
//`const data` is of type myData
我正在用条件对类型执行手动检查,以便对变量数据执行一些逻辑
{data.map((element, index) => {
if (isRed(element)) {
return <Red data={element} key={index} />;
} else {
return <Blue data={element} key={index} />;
}
})}
反之亦然
我将始终拥有多种类型的数组,我无法更改。您可能希望您的
isRed()
函数成为一个数组。也就是说,将其签名更改为
declare function isRed(x: any): x is RedType;
您的代码应该开始编译时没有错误。希望有帮助;祝你好运 您正在寻找或键入guards。如果不在类型中声明一个
种类:“red”
,是否就无法执行此操作
declare function isRed(x: any): x is RedType;