在下面的代码中,项目已正确渲染并可以正常工作
但是,当我按下 TouchableOpacity 时,它将返回事件。
我使用 JSON.stringify(event.nativeEvent)但不起作用
我想获取在TouchableOpacity上设置的键值和该数据项。
export default class MyLanguages extends Component {
constructor(props) {
super(props);
this.state = {
languageData: ["English","Hindi","Tamil","Telugu","Gujarati","Marathi","Panjabi"],
};
}
render() {
return (
<View style={styles.container}>
{this.state.languageData.map( (item,index) => {
return (
<TouchableOpacity key={index}
onPress={ (event)=>{
alert(event.nativeEvent)
}}>
<Text style={MyStyle.appFontStyle2}>{item}</Text>
</TouchableOpacity>
)}
)}
</View>
)
}
}
最佳答案
item
和index
仍在onPress
回调的范围内,因此您可以直接引用它们:
{this.state.languageData.map((item, index) => {
return (
<TouchableOpacity
key={index}
onPress={event => {
alert(`${index}: ${item}`);
}}
>
<Text style={MyStyle.appFontStyle2}>{item}</Text>
</TouchableOpacity>
);
)}