Ограничением JSX является то, что у объекта JSX всегда должен быть один единственный корень.
То есть
return (
<Text>One</Text>
<Text>Two</Text>
);
недействительно.
Вы должны обернуть возвращаемое значение внешней карты (включая внешнюю <Text>
и внутренний результат .map()
) корневым элементом (вероятно, <View>
).
Дополнительно , вы всегда должны использовать key={}
prop, и , чтобы дать ему глобально уникальное значение при рендеринге массива в JSX.
В общем, у меня было бы что-то вроде этого:
class Example extends Component {
render() {
return (
<View>
{
array.map((data) => (
<View key={data.name}>
<Text>{data.name}</Text>
{
data.items.map((item) => (
<Text key={data.name + item}>{item}</Text>
))
}
</View>
))
}
</View>
);
}
}
Я предполагаю, что не может быть повторяющихся имен и что внутри одного именованного объекта не может быть повторяющихся элементов.