我在键入以下内容时遇到问题:
// if I remove the `any` below it breaks.
const teams: any = {
liverpool: <Liverpool />,
manUtd: <ManUtd />,
arsenal: <Arsenal />,
};
export const TeamCrest = ({ team }: { team: keyof typeof teams }) =>
teams[team];
它在其他地方使用过:
<TeamCrest team={'liverpool'} />
如果我执行const teams : any {....}
,它可以工作,但是如果没有,则会出现以下错误:
元素隐式具有“ any”类型,因为类型为“
”
任何人都可以建议如何正确键入吗?
答案 0 :(得分:0)
team
不是任何字符串,而是一个非常具体的字符串。
export const TeamCrest = ({ team }: { team: keyof typeof teams }) =>
teams[team];
答案 1 :(得分:0)
我知道了,您需要使用Record
。以下作品:
export const teams: Record<string, JSX.Element> = {
....
}