【发布时间】:2019-07-24 20:08:53
【问题描述】:
我对 typescript 泛型有疑问。这是代码:
界面:
export interface Hero {
id: number
name: string
localized_name: string
avatar: string
}
export interface Item {
id: number
name: string
cost: number
secret_shop: boolean
side_shop: boolean
recipe: boolean
localized_name: string
avatar: string
}
函数本身
export const getContent = async <T>(genre: string): Promise<T[]> => {
const res = await fetch(`${apiEndpoint}${genre})
const response = await res.json()
const defaultContent = response.result[category]
const contentWithImage = defaultContent.map((item: T) => {
const contentImageUrl = `${imgURL}${item.name.replace('__', '')}.png`
return { ...item, avatar: contentImageUrl }
})
return contentWithImage
}
这样称呼:
const heroes = await getContent<Hero>('heroes')
或
const items = await getContent<Hero>('items')
我得到的名称在类型上未定义(在地图中的项目上),我真的不明白
如果您有任何提示, 谢谢
【问题讨论】:
标签: javascript typescript generics typing