A customizable toast notification library for React Native that provides an easy way to show success, error, and info messages.
- 🚀 Easy to use with a simple hook
- 🎨 Fully customizable appearance
- 🔄 Swipe to dismiss
- 📱 Safe area compatible
- 📝 TypeScript support
- 🧩 Zero additional dependencies (apart from zustand)
npm install @hovecapital/react-native-toast-alerts
or
yarn add @hovecapital/react-native-toast-alerts
This library requires the following peer dependencies:
npm install react-native-safe-area-context
or
yarn add react-native-safe-area-context
- Wrap your app with
ToastProvider
:
import { ToastProvider } from '@hovecapital/react-native-toast-alerts';
const App = () => {
return (
<ToastProvider>
{/* Your app content */}
</ToastProvider>
);
};
- Use the toast in any component:
import { useToast } from 'react-native-toast-alerts';
const MyComponent = () => {
const { showToast } = useToast();
const handleButtonPress = () => {
// Show a success toast
showToast('Operation successful!', 'success');
// Show an error toast
showToast('Something went wrong', 'error');
// Show an info toast with custom duration (in milliseconds)
showToast('You must accept the terms and conditions', 'info', 5000);
};
return (
<Button title="Show Toast" onPress={handleButtonPress} />
);
};
You can customize the appearance of the toasts by passing a styles
prop to the ToastProvider
:
import { ToastProvider } from '@hovecapital/react-native-toast-alerts';
const App = () => {
const customStyles = {
container: {
// Custom container styles
},
toast: {
// Custom toast styles
},
text: {
// Custom text styles
},
colors: {
success: '#00C851', // Custom success color
error: '#FF4444', // Custom error color
info: '#33B5E5', // Custom info color
text: '#FFFFFF', // Custom text color
},
};
return (
<ToastProvider
styles={customStyles}
position="top" // 'top' or 'bottom'
maxToasts={3} // Maximum number of toasts to show at once
defaultDuration={3000} // Default duration in milliseconds
>
{/* Your app content */}
</ToastProvider>
);
};
Prop | Type | Default | Description |
---|---|---|---|
styles |
ToastStyles |
{} |
Custom styles for the toasts |
position |
'top' | 'bottom' |
'top' |
Position of the toasts |
maxToasts |
number |
3 |
Maximum number of toasts to show at once |
defaultDuration |
number |
3000 |
Default duration in milliseconds |
The useToast
hook returns an object with the following methods:
Method | Parameters | Description |
---|---|---|
showToast |
(message: string, type?: 'success' | 'error' | 'info', duration?: number) |
Shows a toast notification |
MIT