React Native Alert with Image

Creating an alert with an image in React Native involves a few steps. Here’s a guide with examples on how to achieve this:

Setting Up Your React Native Environment

  1. Install React Native CLI: This can be done using npm with the command npm install -g react-native-cli.
  2. Create a New React Native Project: Use react-native init ProjectName to start a new project.
  3. Navigate to Your Project Directory: Change to your project directory with cd ProjectName.

Creating a Basic Alert

1.Import the Alert API:

Start by importing Alert from React Native.

import { Alert, Button, View, StyleSheet } from 'react-native';
2.Define the Alert Function:

Create a function to display the alert

const showAlert = () => {
  Alert.alert("Alert Title", "This is an alert message");
};
3.Add a Button to Trigger the Alert:

Place a button in your component’s render method.

<Button title="Show Alert" onPress={showAlert} />

Creating a Custom Alert with an Image

1.Import Necessary Components:

Import Modal, View, Text, Pressable, StyleSheet, and Image from React Native.

2.Set Up State for Modal Visibility:

Use useState to manage the visibility of your custom modal.

3.Create a Modal with an Image:

Design your modal to include an image and style it as needed. Here’s a simplified version:

<Modal visible={modalVisible} transparent={true}>
  <View style={styles.modalView}>
    <Image source={{uri: 'image_url_here'}} style={styles.image} />
    <Text style={styles.text}>This is a custom alert with an image</Text>
    <Pressable onPress={() => setModalVisible(false)}>
      <Text>Close</Text>
    </Pressable>
  </View>
</Modal>
4.Add Styles:

Define styles for your modal, image, and other components.

5.Trigger the Custom Alert:

Use a button or another event to change the modalVisible state, thus showing or hiding the custom alert.

Example of Custom Alert with react-native-awesome-alerts

1.Install the Package:

Run npm i react-native-awesome-alerts to install.

2.Import and Use AwesomeAlert:

In your component, import AwesomeAlert and use it to create a customized alert.

import AwesomeAlert from 'react-native-awesome-alerts';

<AwesomeAlert
  show={showAlert}
  title="Alert Title"
  message="This is an awesome alert message"
  closeOnTouchOutside={true}
  closeOnHardwareBackPress={false}
  showCancelButton={true}
  showConfirmButton={true}
  cancelText="No, cancel"
  confirmText="Yes, delete it"
  confirmButtonColor="#DD6B55"
  onCancelPressed={() => {
    this.hideAlert();
  }}
  onConfirmPressed={() => {
    this.hideAlert();
  }}
/>
3.Style and Customize:

You can customize the alert’s appearance, including button colors and text.

Conclusion

By following these steps, you can create both simple and customized alerts in your React Native application. The react-native-awesome-alerts package offers additional flexibility for more complex alerts.

Additional Resources

Leave a Comment