【发布时间】:2019-08-10 02:25:52
【问题描述】:
我正在使用RN 版本0.59.9 和React Navigaton 3.11.1。
我想在我的视图上添加 onPress,所以我将它包装在 TouchableOpacity 中,但它对我不起作用。
我尝试在 React Navigation 之外使用它,它仍然可以工作,所以这可能是这个库中的一个错误。
我已尝试为要添加 OnPress 的视图设置高度,但仍然无法正常工作
更新: 欲了解更多信息,有一些代码:
我有两个这样的屏幕:
class VuaTraiCayApp extends Component {
render() {
return <AppContainer />;
}
}
const stack = createStackNavigator(
{
Home: {
screen: HomeScreen
},
Detail: {
screen: DetailScreen
}
},
{
defaultNavigationOptions: {
headerTitle: "Trang chủ"
}
}
);
const AppContainer = createAppContainer(stack);
在 HomeScreen 中,我想在视图上添加 onPress,因此我将视图包裹在 TouchabeOpacity 中。它不起作用:
<TouchableOpacity
onPress={()=> {
alert("Clicked");
}}
>
<View
style={{
width: 200,
height: 500,
backgroundColor: "pink"
}}
/>
</TouchableOpacity>
但如果我在堆栈外使用相同的代码。让我们看看我将这段代码移动到根目录而不在堆栈中。效果很好。
class VuaTraiCayApp extends Component {
render() {
return (
<TouchableOpacity
onPress={()=> {
alert("Clicked");
}}
>
<View
style={{
width: 200,
height: 500,
backgroundColor: "pink"
}}
/>
</TouchableOpacity>
);
}
}
【问题讨论】:
标签: react-native react-navigation touchableopacity