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

时间:2017-08-17 04:47:03

标签: javascript flowtype

看看这个界面:

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

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

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

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

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

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

我该如何解决这个问题?任何建议都会非常感激。

1 个答案:

答案 0 :(得分:1)

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

const name = params['name'];