我正在开发一个简单的 react-native 应用程序,但在 TouchableHighlight 上遇到了问题:
按下 时TouchableHighlight
,将显示一个新屏幕(使用 StackNavigator 中的react-navigation
)。按下后退按钮并返回原始屏幕后,TouchableHighlight
仍然有黑色背景色 - 意思是它仍然突出显示。
我的问题是:
- 有没有办法手动停用
TouchableHighlight
-component 的突出显示?这样我就可以在onPress
运行后禁用突出显示。 TouchableHighlight
为什么要突出显示住宿的可能原因是什么?我在我的应用程序的其他部分使用它而没有导航,我可以想象它与此有关。
TouchableHighlight
存在于 FlatList 中。renderItems 方法如下所示:
let handlePress = () => {
this.props.navigation.navigate('DetailsScreen');
};
return <TouchableHighlight
onPress={handlePress}>
<Text>Some Text</Text>
</TouchableHighlight>;
如果您需要/想要任何进一步的信息,请告诉我。我已经使用带有 Marshmallow 的 Genymotion-emulator 在 android 上测试了代码。
版本是:
- 节点-v:8.9.4
- npm -v:5.6.0
- 反应原生 cli:2.0.1
- 反应原生:0.54.2
- 反应导航:1.5.2
- 构建环境:Windows 10 64位
在这一点上,我很确定错误在我的代码中的某个地方,因为TouchableHighlight
在我的应用程序的其他部分上正常工作,并且它可能与导航调用有关,但我无法查明,为什么。我已经确保我的应用程序中没有异常或类似的东西,并且 onPress 方法因此成功完成。