我在Reactjs上使用Typescript创建了一个对象。
下面是代码。
但这会使UserInformation数据从密码到姓氏出现此错误。
你能给我一些建议吗?
重复的字符串索引签名
SELECT eventdata.S_ID, eventdata.eventyear,
max (education.qual_Level) as highqual
FROM education
left join eventdata
ON education.S_ID = eventdata.S_ID
WHERE education.YearQual<= eventyear
GROUP BY eventyear, qual_level, eventdata.S_ID
答案 0 :(得分:1)
当您知道特定对象的类型时,TypeScript允许您使用与ISignStore
定义的接口。遵循UserInformation
的相同模式,类型为:
interface IUserInformation {
email: string;
password: string;
firstName: string;
lastName: string;
}
另一方面,您当前使用的语法称为Index Signature。
interface IObject {
[k: number]: string
}
这基本上是说您有一个对象,但是您不知道它将具有什么键;但是您确定键将是数字,而值将是字符串。这里的变量k
只是一个占位符,您可以在该位置使用任何东西。因此,凭此优点,k2: number
的第二个键没有用处。因为k: number
已经涵盖了这种情况。
这是您在将email
,password
和firstName
定义为索引签名中的键时遇到的错误。它们只是基于string
的密钥的重复。
答案 1 :(得分:0)
UserInformation: {
[email]: '',
[password]: '',
[firstName]: '',
[lastName]: ''
};
我认为您已经为这些东西指定了类型。