通过 Immutable.js Map 对象处理迭代的良好实践是什么?这有效:
{stocks.map((stock,key)=>{
return ( <h3>{key}</h3> )
})}
但在控制台中给出警告“warning.js:45 警告:尚未完全支持使用 Maps 作为子项。这是一个实验性功能,可能会被删除。将其转换为键控 ReactElements 的序列/可迭代。 ”
这之前已经讨论过,此链接建议了一些策略 https://github.com/facebook/immutable-js/issues/667但它们对我来说似乎很笨重。喜欢:
posts.entrySeq().map(o =>
<Post value={o[1]} key={o[0]} />
)
可以工作,但感觉很笨重。有更自然的方法吗?
最佳答案
自从您提出这个问题以来,您引用的 github 问题上已经发布了更好的解决方案。 @vinnymac 建议:
posts.entrySeq().map( ([key, value]) =>
<Post key={key} value={value} />
)
这很有效,因为 entrySeq()
返回一个键/值元组序列,然后您可以在 .map()
回调的参数中对其进行解构。
编辑我现在看到您只是索要 key 。在这种情况下,如果您想使用 ImmutableJS map()
,请使用 keySeq()
;如果您想使用 ES6 ,请使用
keys()
map ()
关于dictionary - 在 React 中迭代不可变映射的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36669710/