繁体   English   中英

Typescript 通用:“T”类型上不存在属性“pass”.ts(2339)

[英]Typescript generic : Property 'pass' does not exist on type 'T'.ts(2339)

// callback functions
const fetchData = (userId:number, cb:any) => {
    setTimeout(() => {
        const fakeData = {
            name: "bob",
            id: userId,
            pass: 1234
        };
        cb(fakeData);
    }, 500)
}

interface Idata {
    name: string,
    id: number
}

const afterFetchData = <T extends Idata>(data: T) => {
    console.log("your data is", data.pass)
}

如何在fakeData中放入any类型的值并在不使用afterFetchData function 的情况下接受它?

现在我有这个错误:类型'T'.ts(2339)上不存在属性'pass'

如果你知道那里总会有一些属性,比如idname ,但你不确定pass ,你可以这样做:

console.log("your data is", data['pass'])

否则,您应该将 fakeData 保留为无类型或使用any类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM