假设我有这个屏幕:
当用户点击白色工具提示时,它会重定向到另一个屏幕。有时应用程序会滞后一点,单击工具提示大约需要 2 秒才能看到屏幕变化。问题是,在这 2 秒内,用户再次点击此工具提示以使其发生。
我得到的结果是我的 StackNavigator 中有两个新屏幕实例。我的意思是我看到了我的新屏幕,但是当我单击“返回”时,我并没有返回到这个“搭便车地图”屏幕,而是返回到同一屏幕的另一个实例。
如果在这 2 秒内我在标注上单击了 5 次,那么我需要单击 5 次“返回”以返回地图屏幕。有什么办法可以防止吗?只将一个实例放入 StackNavigator?
我正在使用 React Navigation,更准确地说是 StackNavigator。这是我的代码:
“点击工具提示”部分:
<MapView.Marker
onCalloutPress={() => this.props.navigation.navigate('spotDetails', { spotId: marker.id })}
/>
我的屏幕:
const HMapNavigator = StackNavigator({
HMap: { screen: HMapViewContainer },
spotDetails: { screen: SpotDetailsViewContainer },
});