@newbanker/react-native-simple-toast
TypeScript icon, indicating that this package has built-in type declarations

1.1.7 • Public • Published

react-native-simple-toast npm version

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, but doesn't have much in common any more.

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:

// duration Toast.SHORT is used by default
show: (message: string, duration?: number, viewControllerBlacklist?: Array<string>) => void,
showWithGravity: (
message: string,
duration: number,
gravity: string,
viewControllerBlacklist?: Array<string>
) => void,

Note on viewControllerBlacklist: this is an iOS-only option, it is ignored on android. 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 where Toast would be displayed weirdly in an Alert or would hide too quickly when shown in a RCTModalHostViewController.

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

Readme

Keywords

Package Sidebar

Install

npm i @newbanker/react-native-simple-toast

Weekly Downloads

6

Version

1.1.7

License

MIT

Unpacked Size

88.4 kB

Total Files

20

Last publish

Collaborators

  • suetming
  • silent-mars