如何在immutablejs中迭代Map

时间:2016-10-18 07:01:05

标签: reactjs immutable.js

与Immutablejs Map中的Object.entries()相同。基本上,我枚举对象的键/值对来呈现表示组件

{
  Object.entries(filteredNetworks)
  .map(([key, value]) =><option key={key} value={key}>{value}</option>)
}

现在,filteredNetworks是一个不可变的地图,我怎么能这样做呢? (不使用.toJS()

2 个答案:

答案 0 :(得分:12)

基于: https://facebook.github.io/immutable-js/docs/#/Iterable/map

{
  filteredNetworks.map(
  (value, key) => <option key={key} value={key}>{value}</option>
  )
}

请注意,映射器函数的参数顺序已更改。

使用Entry Sequence的另一个选项可能是

{
   filteredNetworks.entrySeq().map(
     .map(([key, value]) =><option key={key} value={key}>{value}</option>)
   )
}

摆弄着 https://jsfiddle.net/3r866to3/

答案 1 :(得分:1)

使用方法Iterable

entries()会对您有所帮助。

Documentation is here