如何通过点击ReactNative中的屏幕来关闭模态

Ger*_*aub 6 javascript ios reactjs react-native

如何通过在React Naitve中点击屏幕来关闭模态视图,RN Modal组件似乎不提供api

小智 26

您可以在模态组件中使用TouchableWithoutFeedback组件,并使用onPress属性来解除模态.

<Modal visible={booleanThatHandlesModalVisibility}>
  <TouchableWithoutFeedback onPress={() => funcToHideModal()}>
    <View>
    ...
    </View>
  </TouchableWithoutFeedback>
</Modal>
Run Code Online (Sandbox Code Playgroud)

如果你想要一个不隐藏模态的模态区域,你可以添加另一个没有onPress属性的TouchableWithoutFeedback来在第一个之前捕获事件,如下所示:

<Modal visible={booleanThatHandlesModalVisibility}>
  <TouchableWithoutFeedback onPress={() => funcToHideModal()}>
    <View>
      <TouchableWithoutFeedback>
        <View>...</View>
      </TouchableWithoutFeedback>
    </View>
  </TouchableWithoutFeedback>
</Modal>
Run Code Online (Sandbox Code Playgroud)