Проблема не в передаче объекта, а в том, как вы сконструировали свою функцию onPress
в своей TouchableOpacity
В настоящее время это то, что у вас есть:
<TouchableOpacity
onPress={(item) =>{this.props.navigation.navigate('AScreen', {content : 'Addition' });}}>
<Text style={styles.title}>{item.key}</Text>
</TouchableOpacity>
Обратите внимание, что в вашей onPress
функции у вас есть (item) => {...}
Слово item
внутри функции заменяет значение, которое у вас есть для item
.Вот почему вы получаете undefined
.Все, что вам нужно сделать, это удалить слово item
из вызова функции.
Если вы измените свой код на следующий, он должен передать значение, как и ожидалось
<TouchableOpacity
onPress={() =>{this.props.navigation.navigate('AScreen', {content : item.key });}}>
<Text style={styles.title}>{item.key}</Text>
</TouchableOpacity>
Обратите внимание, что onPress
теперь () => {...}
.Это должно предотвратить перезапись значения item