0

我有一个场景展示了我所在城市的一些纪念碑。当我按下标记(纪念碑)时,它会显示纪念碑的名称。我想要做的是,当我按下那个名字时,我想转移到一个确定的场景(使用反应导航)。我用 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>
    );
}

}

我究竟做错了什么?谢谢!

4

0 回答 0