如果我按下,为什么我的 gestureDetector 不工作?

Why my gestureDetector not working if I press?

我想使用 GestureDetector,但如果我按下按钮,我没有得到 console.log 语句。

Button.tsx

const Button = ({ children }: IButton) => {
  const gestureHandler = Gesture.Tap()
    .onStart(() => console.log('HI'))
  return (
    <GestureDetector gesture={gestureHandler}>
      <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
      { children }
      </View>
    </GestureDetector>
  )
};

App.tsx

export default function App() {
  return (
    <GestureHandlerRootView style={s.container}>
      <Button>
        <Text>Button</Text>
      </Button>
    </GestureHandlerRootView>
  );
}

我做错了什么?

对于大多数用例,尤其是初学者,最好使用 Pressable react-native API。这是一个不需要额外库的原生解决方案,对于大多数按钮用例来说已经足够了。它也可能比外部库更快。

更多信息 - reactnative.dev/docs/pressable