我有一个场景展示了我所在城市的一些纪念碑。当我按下标记(纪念碑)时,它会显示纪念碑的名称。我想要做的是,当我按下那个名字时,我想转移到一个确定的场景(使用反应导航)。我用 TouchableHighlight 包裹了纪念碑的名称,并在按下时调用了“导航”方法。但它根本不传输,它什么都不做。甚至没有错误。
这是我的代码:
render(){
const { navigate } = this.props.navigation;
const { data } = this.props.navigation.state.params;
return (
<View style={styles.container}>
<MapView
style={styles.map}
initialRegion={{
latitude: 39.604419,
longitude: -8.411803,
latitudeDelta: 0.0122,
longitudeDelta: 0.0221,
}}
>
{data.map(i => {
if (i.category === "Museus"){
return i.monuments.map((j, index) => (
<MapView.Marker
coordinate={{
latitude: j.latitude,
longitude: j.longitude,
}}
pinColor='#009688'
key={index}
>
<MapView.Callout tooltip style={styles.callout}>
<View style={styles.calloutContainer}>
<TouchableHighlight
onPress={() => navigate('MonumentoDetails')}
style={[styles.bubble, {backgroundColor:'#009688'}]}
>
<View>
<Text style={styles.name}>{j.name}</Text>
</View>
</TouchableHighlight>
<View style={[styles.arrow, {borderTopColor:'#009688'}]} />
</View>
</MapView.Callout>
</MapView.Marker>
))
}
})}
</MapView>
</View>
);
}
}
我究竟做错了什么?谢谢!