Dor*_*rki 5 typescript reactjs
所以我有一个独特的情况,
在我所在的州,我没有可以执行映射的常规列表,然后在每次迭代中显示组件,例如:
list.map(shape => <Shape {...shape} />)
Run Code Online (Sandbox Code Playgroud)
但我有一个哈希图。我需要知道key和 ,value所以我将拥有将其显示为组件所需的信息。所以我找到了一个很好的方法:entries()返回一个Iterator,但是我如何以可以内联显示新组件的方式迭代它?
伪代码中类似的东西:
myHashMap.entries().toList().map((key, value) => <MyComponent myKey={key} myValue={value} />)
Dor*_*rki 11
你们给出了很好的答案,但我找到了最简单的语法:
Array.from(myHashMap.entries()).map((entry) => {
const [key, value] = entry;
return (<MyComponent myKey={key} myValue={value} />);
}
Run Code Online (Sandbox Code Playgroud)
Map 函数基本上循环并将每个循环的结果作为数组返回。所以基本上你最终需要的只是一组组件。只是有不同的途径来实现它。
将 HashMap 转换为数组并在其上运行映射会比较慢。请避免这种情况。下面的代码将仅循环一次。
function getComponents(myHashMap) {
const comps = [];
myHashMap.forEach((value, key) => comps.push(<MyComponent myKey={key} myValue={value} />));
return comps;
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
19158 次 |
| 最近记录: |