在 Flow 中仅具有键值类型的接口中找不到属性



看这个界面:

interface IParams {
[string]: number|string|Date
};

我使用此接口来验证通过参数传递的对象,如下所示:

someObject.do = function(params: IParams|void): void { ... }

它工作正常,但问题是访问参数的属性:

someObject.do = function(params: IParams|void): void {
// property `name` (Property not found in IParams)
const name = params.name;
...
}

我想在没有任何详细信息的情况下使用 IParams,只想验证它的键值类型。

我该如何解决这个问题?任何建议将不胜感激。

您已经将IParams定义为类似字典的通用对象,您是否需要向 Flow 明确表示您希望像字典一样使用它,并且

const name = params['name'];

最新更新