Documenting v0.2.1

Toasts that render
above everything.

Native toasts for React Native. Visible over modals and bottom sheets on iOS and Android, with a tiny imperative API.

npm install react-native-super-toast

Comparison

Other toasts hide behind native modals.

The same Android flow in three libraries: open a page sheet modal, show a toast, then open a transparent modal and show another.

sonner-native
sonner-native
  • No: Above the page sheet
  • No: Above the transparent modal
  • No: Actions tappable while a modal is open

Toasts sit behind the page sheet and get dimmed under the transparent modal backdrop.

react-native-toast-message
react-native-toast-message
  • No: Above the page sheet
  • No: Above the transparent modal
  • No: Actions tappable while a modal is open

Same result: the toast is covered by the sheet and dimmed by the backdrop.

Super Toast
Super Toast
  • Yes: Above the page sheet
  • Yes: Above the transparent modal
  • Yes: Actions tappable while a modal is open

Toasts render above both modals and stay interactive: tap actions like Undo without closing the modal.

Full comparison with other toast libraries

Demos

See it on real devices.

Native modal overlays

Toasts stay visible over native modals and form sheets.

In this recording

  1. 01A page sheet modal
  2. 02A transparent modal with a dimmed backdrop
  3. 03A toast with an Undo action on top of the modal
Native modals & bottom sheets
Native modal overlays — iOS
Native modal overlays — iOS
Native modal overlays — Android
Native modal overlays — Android

Bottom sheets & dialog windows

Toasts stay above bottom sheets and dialog windows.

In this recording

  1. 01A bottom sheet modal
  2. 02A second sheet stacked on top of it
  3. 03Several toasts listed above both sheets
Native modals & bottom sheets
Bottom sheets & dialog windows — iOS
Bottom sheets & dialog windows — iOS
Bottom sheets & dialog windows — Android
Bottom sheets & dialog windows — Android

Features

Everything a toast should do. Nothing it shouldn't.

Above everything

Visible over native modals, form sheets, and bottom sheets on both platforms.

One imperative API

Call toast() from anywhere. Mount a single <ToastHost /> once.

Every variant

success, error, warning, info, loading, and promise, with in-place updates.

Gestures built in

Swipe in any direction, stacked decks, expand on press, and wiggle.

Themeable

Light, dark, or system themes, rich colors, fonts, and image or glyph icons.

Zero dependencies

No Reanimated, Gesture Handler, Screens, or SVG. Just React Native.

Quick start

Mount once. Call from anywhere.

  1. 1. InstallAdd the package, then run pod install on iOS.
  2. 2. Mount ToastHostRender it once near the root of your app.
  3. 3. Call toast()From components, stores, or plain functions.
  4. Full installation guide
import { ToastHost, toast } from 'react-native-super-toast';

export default function App() {
  return (
    <>
      <YourApp />
      <ToastHost />
    </>
  );
}

toast.success('Saved', { description: 'Your changes are live.' });

toast.promise(uploadFile(), {
  loading: 'Uploading…',
  success: (file) => `${file.name} uploaded`,
  error: 'Upload failed',
});

Why & how

A toast that lives outside your view tree.

Most toasts are views inside the React tree. When iOS presents a modal controller or Android opens a dialog window, that tree is covered, and so is the toast. Super Toast moves rendering to the layer above.

01

JavaScript

toast() resolves options, theme, and host defaults into plain, serializable data.

02

iOS

Native views in an overlay UIWindow that sits above presented view controllers, modals, and sheets.

03

Android

A TurboModule presents each toast in its own non-focusable dialog window, drawn with native views.

Principles

Built on a different layer.

Rendering approaches compared
View-tree toastsSuper Toast
Where the toast rendersInside the React view treeIn a native window above the view tree
Native modals & sheetsCan be covered by the presented controllerStays on top
Runtime dependenciesOften an animation and gesture stackNone beyond React Native
Content modelArbitrary JSXSerializable data, rendered natively
Cross-platform stylingAny style, may drift per platformA fixed style set that matches on iOS and Android

Ship toasts that never hide.

Open source, MIT licensed.