我有这个界面:
interface IFormData {
[string]: string
};
export type { IFormData };
这是一个简单的接口,只接受键值字符串。但是当我使用它时,
const formData:IFormData = { email: '...', password: '...' };
它给了我这个错误:
IFormData的[flow]属性
$key
(在对象文字中找不到可索引签名)
我也试过这个,但它给了我同样的错误:
var formData: IFormData; // Error
formData['email'] = ...;
formData['password'] = ...;
我在谷歌搜索了这差不多2天,但仍然停留在这里,我需要一些帮助!
任何建议都会非常感激。
答案 0 :(得分:2)
如果你从interface
切换到type
,Flow似乎对这类事情更加满意:
type IFormData = {
[string]: string
}
const formData: IFormData = { email: '...', password: '...' };
我猜测界面名义上是键入的,而不是结构上键入的,这与此有关。