Как объединить компоненты JSX в React Native
Например, я хочу показать список имен. Поэтому я хотел сделать что-то вроде этого:
var returnValue;
for (eachName of _names) {
returnValue += (
<TouchableHighlight
onPress={() => this._onPressButton}>
<Text>
{eachName}
</Text>
</TouchableHighlight>);
}
return returnValue;
Однако это неверно. Который подводит меня к моему вопросу: Как объединить динамическое количество компонентов JSX в React Native.
Ответы
Ответ 1
Цифры Я выясняю это, как только я попрошу stackoverflow. Код необходимо поместить в массив:
var returnValue = [];
for (var i = 0; i < _names.length; i++) {
returnValue.push(
<TouchableHighlight onPress={() => this._onPressButton}>
<Text>
{_names[i]}
</Text>
</TouchableHighlight>);
}
return returnValue;
Здесь также есть дополнительная информация: http://facebook.github.io/react/docs/multiple-components.html#dynamic-children
Ответ 2
Возможно, более элегантный способ:
return <View>
{_names.map((eachName) => {
return (
<TouchableHighlight onPress={() => this._onPressButton}>
<Text>
{eachName}
</Text>
</TouchableHighlight>
);
})}
</View>
Ответ 3
let returnValue = _names.map(eachName =>
<TouchableHighlight
onPress={() => this._onPressButton}>
<Text>
{eachName}
</Text>
</TouchableHighlight>);
return returnValue;