给出以下代码:
/* @flow */
interface IDefaultSettings {
Drivers?: {},
Options?: {}
}
const defaultSettings: IDefaultSettings = {
Drivers: {},
Options: {}
}
const settings: IDefaultSettings = {};
mergeSettings(settings);
function mergeSettings(settings: IDefaultSettings) {
for (const [key, setting] of Object.entries(defaultSettings)) {
switch(key) {
case 'Drivers':
case 'Options':
settings[key] = setting;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
将上面的代码放在Flow playgound中试试这个.
我收到这个lint错误,无法解决: "Cannot assign `setting` to `settings[key]` because an indexer property is missing in `IDefaultSettings` [1]."
为什么key在接口中需要使用索引器prop IDefaultSettings,当这个代码key从具有已知接口的对象中拉出时- 我的意思是,还有什么key …
flowtype ×1