Reactjs “为什么会这样?”;此表达式不可调用……”;typescript和react js中的错误?
我是打字新手。我不知道为什么会出错。 我的数据列表数组:Reactjs “为什么会这样?”;此表达式不可调用……”;typescript和react js中的错误?,reactjs,typescript,Reactjs,Typescript,我是打字新手。我不知道为什么会出错。 我的数据列表数组: const { data: CUData = { cu: [] as Array<CuType> }, } = useGetCUQuery(); let CUDataArray = CUData && CUData.cu? CUData.cu:null; const ownCompany = CUDataArray !== null && CUDataArray.fi
const {
data: CUData = { cu: [] as Array<CuType> },
} = useGetCUQuery();
let CUDataArray = CUData && CUData.cu? CUData.cu:null;
const ownCompany = CUDataArray !== null && CUDataArray.filter(
company => (company.isOwner && company.userType === 2)
);
const assignedCompany = CUDataArray!== null && CUDataArray.filter(
company => (!company.isOwner && company.userType === 3)
);
const{
data:CUData={cu:[]作为数组},
}=useGetCUQuery();
让CUDataArray=CUData&&CUData.cu?CUData.cu:空;
const ownCompany=CUDataArray!==null&&CUDataArray.filter(
company=>(company.isOwner&&company.userType==2)
);
const assignedCompany=CUDataArray!==null&&CUDataArray.filter(
company=>(!company.isoowner&&company.userType==3)
);
错误是:
> This expression is not callable.
Each member of the union type '{ <S extends CuType>(cb: (value: CuType, index: number, array: CuType[]) => value is S, thisArg?: any): S[]; (cb: (value: CuType, index: number, array: CuType[]) => unknown, thisArg?: any): CuType[]; } | { ...; }' has signatures, but none of those signatures are compatible with each other. TS2349
>此表达式不可调用。
联合类型“{(cb:(值:CuType,索引:number,数组:CuType[])=>值为S,thisArg?:any):S[];(cb:(值:CuType,索引:number,数组:CuType[])=>未知,thisArg?:any):CuType[];}{…}”的每个成员都有签名,但这些签名都不兼容。TS2349
Typescript不确定数组CUDataArray
的类型是CuType[]
还是unknown[]
。这种混淆的根源来自useGetCUQuery()
函数的返回类型。如果你用这个功能编辑你的帖子,我可以看看
const {
data: CUData = { cu: [] as Array<CuType> },
} = useGetCUQuery();
我刚刚发布了一个答案,但后来我又看了一遍错误消息,现在我不确定。您可以发布代码中包含
且值为S
的部分吗?看起来某个地方有一个类型保护功能可能会引起麻烦。
type CUQueryVal = {
data?: {
cu?: Array<CuType>
}
}
const queried: CUQueryVal = useGetCUQuery();
const { data: CUData = { cu: [] } } = queried; // 'as' is no longer needed