Я просто изучаю React Native, и я хочу создать серию кнопок с использованием динамических данных. Мой текущий код:React Собственные параметры прохождения через функцию карты
var locations = this.state.campus.map(function(item, key){
return(
<TouchableHighlight key={key}
style={[styles.button, (this.state.location==={item} && styles.buttonPressed)]}
underlayColor='#dddddd'
onPress={()=>this.buttonPress({item})} >
<Text style={
styles.plainText}>{item}</Text>
</TouchableHighlight>
)
Моя проблема с линиями
style={[styles.button, (this.state.location==={item} && styles.buttonPressed)]}
и
onPress={()=>this.buttonPress({item})}
я пытаюсь генерировать эти строки, используя данные динамически выключения функции карты. Эти строки кода работают отлично, если я использую статические данные (т. Е. Генерирую каждую кнопку отдельно), но не используя динамические данные. Код действительно создает дисплей, поэтому проблема связана не с рендерингом, а с функциональностью.
При нажатии кнопки я получаю сообщение об ошибке undefined не в объекте, в то время как стиль просто вызывает отображение всего дисплея.
Очевидно, что динамические данные ({item}) работают внутри элемента Text, но не передаются другим элементам в качестве данных. Я попытался использовать {{item}}, но это вызывает синтаксическую ошибку.
Есть ли способ обрабатывать динамические данные, подобные этому в React Native?
Для кого-то в будущем ... предлагаемое здесь решение может помочь: http://stackoverflow.com/questions/35663375/how-to-pass-a-component-reference-to-onpress-callback –
вопрос происходит потому, что вы являетесь функцией usin (item, key) {и вам нужно использовать функцию стрелки var locations = this.state.campus.map ((item, key) => {return
miukki