@hyoban/sonner-native
v0.6.0
Published
An opinionated toast component for React Native. A port of @emilkowalski's sonner.
Downloads
6
Maintainers
Readme
Sonner Native
An opinionated toast component for React Native. A port of @emilkowalski's sonner.
Features
- API fully matches Sonner's
- Multiple variants, including
success
,error
,warning
,custom
,promise
- Promise variant with built-in loading state
- Custom JSX with the custom variant
- Top or bottom positions
- Title and description
- Action button with a callback
- Custom icons
- Optionally dismissable with swipe, configurable left or up
- Dismissable with toast.dismiss(), one or all toasts
- Highly performant using Reanimated 3, 60 FPS
- Dark mode built-in
- Works with Expo
- NativeWind supported
- Customizable, styles & className props
- Works outside of React components
Showcase
Expo Snack
https://snack.expo.dev/@gunnartorfis/sonner-native
Installation
npx expo install sonner-native
Requirements
To use this package, you also need to install its peer dependencies. Check out their documentation for more information:
Usage
In your App.tsx/entry point
import { Toaster } from 'sonner-native';
function App() {
return (
<View>
<NavigationContainer>...</NavigationContainer>
<Toaster />
</View>
);
}
Show a toast
import { toast } from 'sonner-native';
function SomeComponent() {
return (
<Button
title="Show Toast"
onPress={() => toast('Hello, World!')}
/>
);
}
Documentation
For more advanced usage, check out the documentation
Recording
https://github.com/user-attachments/assets/ccc428ca-37c3-4589-9e8c-f414c40d764c
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
Made with create-react-native-library