【发布时间】:2019-02-21 05:32:58
【问题描述】:
我想映射一个多维数组,如下所示:
const array = [
{
name: "Anna",
items: ["Bread", "Cake", "Wine"]
},
{
name: "John",
items: ["Cucumber", "Pizza", "Jam"]
}
]
我试过这个:
class Example extends Component {
render() {
return (
<View>
{
array.map((data) => {
return(
<Text>{data.name}</Text>
{
data.items.map((item) => {
return (
<Text>{item}</Text>
);
}
);
}
}
</View>
);
}
}
我也尝试将它放入我正在渲染的函数中,但两者都不适合我 你能帮忙吗?
【问题讨论】:
-
你只能返回一个元素。您是否尝试过将
<Text>...包含在<View>中? -
当您使用 .map 时,请始终使用 index 作为第二个参数。尝试使用这个 - array.map((data,index) => { return(
{data.name} { data.items.map((item,index) => { return ({item} ); } ); } -
在循环渲染 jsx 元素时也不要忘记添加键。为数据中的每个对象保留唯一 ID,并将其添加为键
-
@ArifRathod 如果他们没有在回调中使用
index,为什么要始终指定它? -
@ArifRathod 索引如何解决问题?索引在这里无关紧要
标签: javascript reactjs react-native array.prototype.map