在迭代Immutable.Record时,Flow无法决定在交集类型中选择哪种情况

时间:2017-12-28 03:39:21

标签: javascript flowtype immutable.js

// @flow
import type {RecordOf} from 'immutable';


function foo<T: {[string]: string}>(state: RecordOf<T>) {
  for (let [key, value] of state) {
    console.log(key, value);
  }
}

在上面的代码中,for...of循环导致流类型错误: $Iterable. Could not decide which case to select intersection type

我认为这是因为immutable.js将RecordOf定义为type RecordOf<Values: Object> = RecordInstance<Values> & Values;。但是,RecordInstance未导出,因此如何告知流state确实是RecordInstance并且可以像这样迭代?

0 个答案:

没有答案