All Projects → slorber → react-native-alert-async

slorber / react-native-alert-async

Licence: MIT License
An Alert.alert that you can await

Programming Languages

javascript
184084 projects - #8 most used programming language

react-native-alert-async

An Alert.alert() that you can await

import AlertAsync from "react-native-alert-async";

const myAction = async () => {

  const choice = await AlertAsync(
    'Title',
    'Message',
    [
      {text: 'Yes', onPress: () => 'yes'},
      {text: 'No', onPress: () => Promise.resolve('no')},
    ],
    {
      cancelable: true,
      onDismiss: () => 'no',
    },
  );

  if (choice === 'yes') {
    await doSomething();
  }
  else {
    await doSomethingElse();
  }
}

It always returns a promise, and that promise is guaranteed to resolve after the user made his choice.

It's just a wrapper around the original RN API so it's very tiny and does not require native code/linking, and is compatible with Expo.

There is an existing RN PR waiting to be merged with this feature. In the meantime you can use this package. I use this in production for a long time and it's reliable.

Hire a freelance expert

Looking for a React/ReactNative freelance expert with more than 5 years production experience? Contact me from my website or with Twitter.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].