在我的 React Native 应用程序中,TouchableOpacity onPress 事件无法正常工作。当我反复点击按钮时,它偶尔会触发 onPress 操作。每次点击都会显示按钮的单击动画,但 onPress 事件不会持续触发。
值得注意的是,我已经在 App() 中使用 GestureHandlerRootView 包装了我的应用程序。
import React from 'react';
import { Text, TouchableOpacity, ScrollView } from 'react-native';
const TransactionsSubMenuScreen = () => {
return (
<ScrollView >
<TouchableOpacity
className='bg-blue-500 w-full h-[50px] mb-10'
onPressIn={() => console.log('onPressIn')}
onPress={() => console.log('onPress')}
onPressOut={() => console.log('onPressOut')}>
<Text >Button 3</Text>
</TouchableOpacity>
</ScrollView>
);
};
export default TransactionsSubMenuScreen;
正如您在此处看到的,onPress 未在日志中注册。
问题出在文件结构上。我必须使用 sdk 52 和 expo router 更新布局。