React - 组件不会在foreach循环中呈现?
问题描述:
我有一个小应用程序,当你打开一个选项卡时,React Route将重定向到给定的组件(容器)。并从我想要呈现子组件的容器。我使用foreach循环遍历一个需要给孩子的道具列表。但是,孩子没有得到渲染。React - 组件不会在foreach循环中呈现?
我不想使用地图,因为我使用依赖列表类的库。
render() {
return (
<div>
{this.state.list.ForEach((element) =>
<ChildComponent childName={element.name}
}
</div>
);
}
}
答
你混淆了Array.forEach与Array.map。 forEach
不会返回任何内容。正确的方法是:
<div>
{this.state.list.map((element, index) =>
<ChildComponent key={index} childName={element.name}
}
</div>
map
转换给定的element
到另一元件时,在此情况下的组件。调用map
的结果是随后呈现的组件数组。 forEach
总是返回因此undefined
代码的结果是一样的文字:
<div>
{undefined}
</div>
注意key
呈现组件的列表时,也是必要的。