React Native Onboarding Template: Choose a Welcome Flow
By Native Animation · Updated
A React Native onboarding template should fit the job: explain features across pages or offer one clear welcome before the real task. This guide compares editable animation components and maps presentation to application state. You supply the copy and artwork, connect actions, and decide when the introduction is complete.
This guide compares published examples and maps their presentation to application state. The animation owns visual transitions. Your application owns sign-in, permission results, persistence, and deciding whether the introduction should appear again.
Choose a feature carousel or a cinematic welcome
Onboarding Feature Carousel is a three-chapter illustration sequence. Shared silhouettes transform from sunrise to waterfront to flower as a horizontal gesture changes pages. Choose it when the introduction needs distinct feature messages; customize its documented chapter content and connect the final action to your app. It is a presentation component, not a complete application starter.
Cinematic Welcome keeps a set of local photos loaded, crossfades between scenes, and provides primary and secondary action callbacks. Choose it for a single welcome screen with routes such as account creation and sign-in. Supply at least two scenes, labels, fonts, and timing; use its next, pause, and resume ref methods when your flow needs control.
Both templates leave authentication, routing, permission requests, and first-run persistence to the host. Keep a usable next action available and offer returning users a direct route into the product.
What you'll build
Plan a short introduction with one idea per page, an available next action, and a final action that hands control to the real product. Keep the copy specific: explain what someone can do, not just that the experience is delightful. Use your own artwork and a consistent identity rather than copying a reference application's assets.
The Sticker Burst Onboarding example offers a multi-page introduction with draggable illustrations and a shared path for swipe and button navigation. Its visual energy fits feature education. A single welcome composition can be a better choice when there is only one idea to communicate.
Prerequisites and compatibility
The catalog baseline is Expo SDK 58, React Native 0.88.0, Reanimated 4.7.1, and react-native-worklets 0.13.0. Sticker Burst also lists Gesture Handler, Skia 2.14.0, and Expo Linear Gradient. Other introductions use different rendering layers; install only the dependencies of the pattern you select.
Check the SDK 58 reference and the chosen README before integration. Canvas-based pieces need their documented web initialization. Each published piece is reviewed on physical iPhone and Android devices with Expo Go before release. Test safe areas, gestures, and permission dialogs again in your own integration.
Choose a welcome pattern by purpose
| Purpose | Published example | Selection criterion |
|---|---|---|
| Explain several features | Sticker Burst Onboarding | Page-by-page titles and illustrations support a short sequence. |
| Establish a visual identity | Silk Aurora Welcome | An atmospheric opening supports a single welcome message. |
| Introduce a photo-led product | Rising Photo Welcome | An image composition carries the introduction. |
| Prepare a notification choice | Permission Primer | Reminder previews show the value of notifications before the host requests permission. |
| Move into account creation | Soft Bloom Signup | A sign-up presentation belongs near the real account flow. |
Avoid adding pages just to show several effects. Each step should answer a different question. If a returning user already knows the product, route them to sign-in or their existing session rather than replaying a mandatory introduction.
Define the content model first
Write the title, supporting sentence, and next action before placing illustrations. A title should remain understandable when its artwork is hidden. A supporting sentence should explain the benefit or decision rather than repeat the headline.
Sticker Burst accepts pages containing titles, subtitles, and sticker layouts. Its ctaLabel, finishLabel, loginLabel, and legalText let the host supply the visible copy. Its onPageChange, onFinish, and onLogin callbacks separate movement through the introduction from application navigation.
The sticker positions are normalized to the illustration area, with size relative to component width. Use those proportions as a starting composition, then check long titles and larger text. A screen that fits a reference-sized phone may still overlap on a shorter device or leave the action below the visible area.
Connect completion to the real flow
Treat onPageChange as a presentation event. Reaching the final page is different from finishing onboarding, creating an account, or granting a permission. Record only the milestone that actually occurred.
Use onFinish to enter your next application step, and decide when to persist completion. If account setup is required, an introduction callback should not silently mark that setup as done. If the user can skip education, persist that choice separately from authenticated account state.
Keep returning-user behavior explicit. Test a fresh install, a signed-out returning user, an authenticated user, and someone resuming an incomplete setup. These states should not depend on whether a previous animation finished before the app was backgrounded.
Wire the introduction callbacks
Add the piece and import StickerBurstOnboarding from the generated folder:
npx nativeanimation add sticker-burst-onboardingPlace the example beside the generated piece folder, or adjust the relative import to its location in your project.
Pass application actions rather than hardcoding navigation inside the copied visual component:
import StickerBurstOnboarding from './sticker-burst-onboarding';
type IntroductionProps = {
onContinueToSetup: () => void;
onOpenSignIn: () => void;
};
export function Introduction({
onContinueToSetup, onOpenSignIn,
}: IntroductionProps) {
return (
<StickerBurstOnboarding
ctaLabel="Continue"
finishLabel="Set up your account"
loginLabel="Log in"
onFinish={onContinueToSetup}
onLogin={onOpenSignIn}
/>
);
}This adapter uses the generic default pages to show the callback contract. Before shipping, supply your own pages and legalText, review the links required by your product, and connect completion to the correct setup milestone. Merely opening account setup does not mean an account was created.
Handle permission education honestly
Permission Primer demonstrates reminder previews and a time choice. Its host callback is responsible for requesting the system permission. The local README describes an optimistic success presentation, so the visual confirmation alone must not be treated as proof that notifications are enabled.
Resolve granted, denied, and unavailable results in application state. Keep a useful path when the person declines. If a later settings link is needed, present it at an appropriate moment rather than repeatedly replaying the introduction to pressure another request.
Permission education should explain a concrete benefit before the system dialog appears. Sample reminders are examples, not scheduled notifications. Your host still needs to implement permission handling and scheduling and verify both on the target devices.
Keep actions available during motion
A welcome sequence should not make people wait for every decorative element to settle. Test tapping Next immediately, tapping repeatedly, reversing a page swipe, and leaving through Log in while an entrance is running. Each path should resolve to one coherent application state.
Use the piece's documented imperative controls only when the host needs them. Sticker Burst provides next, goTo, and replay for controlled presentation. Keep automated replay behavior in demonstrations, not in a real first-run flow that repeatedly steals attention.
For slow assets, preserve readable copy and a usable action while artwork becomes available. Prepare local or cached demo assets when recording a preview. In production, a late image should not make an otherwise completed page look like an empty introduction.
Accessibility and reduced motion
Under Reduce Motion, replace falling illustrations, large page travel, and continuous background movement with still content or a short fade. Keep the same titles, progression, and final action. Disabling movement should not remove instructions that only appeared during an animation.
Provide a button alternative to page swiping and label the current step clearly. Test reading order, large text, button focus after page changes, and whether decorative illustration copies are hidden from assistive technology. Keep terms and privacy links readable and independently reachable.
If the introduction includes forms, test keyboard appearance on a short screen. Focus and error messages belong to the form; decorative transitions should not move a field away while someone is typing or dismiss an error before it can be read.
Performance and validation
Limit simultaneous animated scenes to what the current page needs. Drawing, blur, and large translucent images have different costs; a calm background does not require a complex canvas just because another introduction uses one.
Validate the actual flow as well as the preview. Confirm next and back behavior, interrupted gestures, slow assets, reduced motion, returning-user rules, denied permissions, and completion persistence. Separate device observations from successful compilation in your release notes.
Common pitfalls
- Using an introduction callback as proof of account completion. Persist the correct business milestone.
- Treating an animated check as granted permission. Resolve the system result in the host.
- Making the last page a dead end. Connect the final action to a usable next screen.
- Forcing returning users through decorative pages. Offer a direct route to their existing task.
- Placing meaning only in artwork. Titles and actions must explain the flow without motion.
Skip the build
Start with Sticker Burst Onboarding for feature education, or compare the other task-specific patterns above. The CLI guide explains source installation. Replace demo content and wire host callbacks before treating the flow as finished.
For actual route history and direct entry, see screen transitions with Expo Router; an onboarding animation alone does not create a navigation stack.
FAQ
Does a React Native onboarding template include a complete app?
These templates provide editable presentation components and callbacks. Your app supplies navigation, authentication, permissions, data storage, and the rule that decides whether a returning user sees onboarding.
Should I choose a feature carousel or a welcome screen?
Use Onboarding Feature Carousel for separate feature messages with gesture-linked illustration changes. Use Cinematic Welcome for a single photo-led entry with primary and secondary actions. Keep only the pages needed to explain the next task.
How many onboarding pages should I use?
Use the fewest that explain distinct, necessary ideas. A single welcome screen is enough when there is only one message before the real task.
Does an onboarding animation implement authentication?
No. The application owns authentication, data persistence, and navigation. Presentation callbacks tell the host which action was taken.
Can I use a notification animation as a permission result?
No. The system permission result is authoritative. An optimistic visual state must be reconciled with granted, denied, and unavailable outcomes.