react-native-simple-toast
React Native Toast component for both Android and iOS. It just lets iOS users have the same toast experience as on Android. Using scalessec/Toast on iOS and the standard ToastAndroid on Android;
This is based on work at https://github.com/xgfe/react-native-simple-toast which is no longer maintained.
Install
npm install react-native-simple-toast --save
react-native link react-native-simple-toast // only RN < 0.60
cd ios && pod install
then rebuild your project
Usage
the module exposes the following functions:
show: (message: string, duration?: number, viewControllerBlacklist?: Array<string>) => void,
showWithGravity: (
message: string,
duration: number,
gravity: string,
viewControllerBlacklist?: Array<string>
) => void,
Note on viewControllerBlacklist
: when presenting the Toast, we need to find the presented ViewController (VC). The Toast will be presented in that VC. For Example, let's say you're showing a ReactNative.Modal
in your app - in that case, the presented VC is a RCTModalHostViewController
.
If you present a Toast while that Modal
is shown, and then hide the Modal
, the Toast will disappear together with the Modal
.
viewControllerBlacklist
allows to say what VCs should not be considered when Toast is shown. This is to allow to work around issues like #11 or #13.
The values viewControllerBlacklist
has been tested with are:
['RCTModalHostViewController', 'UIAlertController'];
Examples
import Toast from 'react-native-simple-toast';
Toast.show('This is a toast.');
Toast.show('This is a long toast.', Toast.LONG);
Toast.showWithGravity('This is a long toast at the top.', Toast.LONG, Toast.TOP);
Toast.show('This is nicely visible even if you call this when an Alert is shown', Toast.SHORT, [
'UIAlertController',
]);
License
MIT