【发布时间】:2018-03-15 23:31:09
【问题描述】:
我正在开发一个简单的 react-native 应用,但在 TouchableHighlight 上遇到了问题:
按下TouchableHighlight 时,会显示一个新屏幕(使用react-navigation 中的StackNavigator)。按下后退按钮并返回原始屏幕后,TouchableHighlight 仍然具有黑色背景色 - 意思是它仍然突出显示。
我的问题是:
- 有没有办法手动取消激活
TouchableHighlight-组件的突出显示?这样我就可以在onPress运行后禁用突出显示。 -
TouchableHighlight保持突出显示的可能原因是什么?我在我的应用程序的其他部分使用它而没有导航,我可以想象它与此有关。
TouchableHighlight 存在于 FlatList 中。 renderItems 方法如下所示:
let handlePress = () => {
this.props.navigation.navigate('DetailsScreen');
};
return <TouchableHighlight
onPress={handlePress}>
<Text>Some Text</Text>
</TouchableHighlight>;
如果您需要/想了解更多信息,请告诉我。我已经在 android 上测试了代码,使用 Genymotion-emulator 和 Marshmallow。
版本是:
- 节点-v:8.9.4
- npm -v: 5.6.0
- react-native-cli: 2.0.1
- 反应原生:0.54.2
- 反应导航:1.5.2
- 构建环境:Windows 10 64 位
此时,我很确定错误在我的代码中,因为TouchableHighlight 在我的应用程序的其他部分正常工作,并且它可能与导航调用有关,但我无法查明,为什么。我已确保我的应用程序中没有异常或类似情况,因此 onPress 方法成功完成。
【问题讨论】:
标签: react-native react-navigation touchablehighlight