Sometimes, we want to close React Native modal by clicking on overlay with JavaScript.
In this article, we’ll look at how to close React Native modal by clicking on overlay with JavaScript.
How to close React Native modal by clicking on overlay with JavaScript?
To close React Native modal by clicking on overlay with JavaScript, we set the visible
prop.
For instrance, we write
import React, { useState } from "react";
import {
Button,
StyleSheet,
View,
TouchableOpacity,
Modal,
} from "react-native";
const App = () => {
const [show, setShow] = useState(false);
return (
<View>
<TouchableOpacity style={{ marginTop: 200 }}>
<Button title="show" onPress={() => setShow(!show)} />
</TouchableOpacity>
<Modal transparent={true} visible={show} animationType="slide">
<TouchableOpacity
activeOpacity={1}
style={{ backgroundColor: "#000000aa", flex: 1 }}
onPress={() => setShow(!show)}
/>
<View style={{ backgroundColor: "#FFFFFF", flex: 1 }}>
<View>
<Button title="close" onPress={() => setShow(!show)} />
</View>
</View>
</Modal>
</View>
);
};
export default App;
to set the visible
prop to the show
state.
If show
is true
, then the Modal
is shown.
Otherwise, it’s hidden.
We call setShow
to show the modal in the TouchableOpacity
components.
Conclusion
To close React Native modal by clicking on overlay with JavaScript, we set the visible
prop.