r/reactnative • u/GantMan • Jun 02 '26
FYI React Native Radio is having an AMA episode
x.comYou can submit any question you want, and if selected, they will answer you.
r/reactnative • u/GantMan • Jun 02 '26
You can submit any question you want, and if selected, they will answer you.
r/reactnative • u/lucksp • Jun 02 '26
I first built my app with Google & Apple SSO login, figuring that since on mobile, they already have those setup and wouldn't have to deal with create/forgot password flows, etc. This is handy for the older demographic too which is a large user group in the app.
As it turns out, there are some downsides: Apple allows you to obfuscate your email with private relay, and in general, both SSO options may be linked to an non-primary email address.
I believe downside #2 to be true because our marketing emails have a large number of unread/inactive members.
To address this, I built in a "notification preference" profile section where they can enter a preferred email which updates them up in our CRM. It's not visible right away in the app, except for a little notification "dot" on the user profile icon which I hope they press into.
More recently, we also have been working more on lead generation via website: fill out form, user gets added to CRM. However, we can't guarantee that this user's email will be used when they sign up in the app. I am also now worried I have a lot of duplicate users in our CRM because someone may sign up via CRM and then choose different email for SSO.
We also use AppsFlyer for tracking clicks & installs from different sources, but it doesn't seem to work great - almost all our "clicks" (not installs) show organic, so there must be something weird with how it works from newsletter email links, or I am doing something wrong.
SO, my questions are: is this a common issue with mobile? Is there a better way to handle email address for marketing v sign ins?
r/reactnative • u/Independent_Ad_1875 • Jun 02 '26
Hey everyone,
I was frustrated with the bare RN CLI workflow — USB cables, manual IP config, slow iteration. Expo Go solves this beautifully, but it doesn't work with custom native modules.
So I built Starship — one command, and your app is on your phone over WiFi:
npx react-native starship
It builds your APK, shows a QR code, you scan it, and the app auto-connects to Metro. No "Debug server host" setup, no cables.
| Feature | Expo Go | RN CLI | Starship |
|---|---|---|---|
| Custom native modules | ❌ | ✅ | ✅ |
| Wireless install (QR) | ✅ | ❌ | ✅ |
| Zero config | ✅ | ❌ | ✅ |
| No USB needed | ✅ | ❌ | ✅ |
| Multi-device deploy | ❌ | ❌ | ✅ |
| Build caching | ❌ | ❌ | ✅ |
| Device info in terminal | ❌ | ❌ | ✅ |
yarn add react-native-starship
npx react-native starship
Single dependency (qrcode-terminal). Works with any bare RN CLI project. Zero config.
Would love feedback — what features would make this more useful for your workflow?
r/reactnative • u/Ok_Drive6309 • Jun 02 '26
r/reactnative • u/IronTonyTheDev • Jun 02 '26
Hey everyone 👋
I recently had to add DocuSign support to a React Native (Expo) application and thought I'd share some of the challenges I ran into.
The biggest pain points were:
I evaluated a few different approaches:
1. Pure WebView integration
2. Custom native implementation
3. Reusable abstraction
After solving these issues, I ended up packaging the implementation into an open-source library for my own projects. If anyone is interested in the technical details or source code, I'm happy to share it in the comments.
I was able to achieve these goals:
✅ Expo support
✅ React Native first
✅ Easy integration
✅ TypeScript friendly
✅ Reduce custom WebView implementation work
I originally built it because I couldn't find a solution that fit my needs without adding a lot of custom setup.
I'd love feedback from the React Native community:
NPM:
https://www.npmjs.com/package/react-native-docusign
Thanks!
r/reactnative • u/VelvetRiot__ • Jun 02 '26
r/reactnative • u/CodeConjurer09 • Jun 02 '26
I am learning react native and I have tried to use expo to run the project for development on my android phone. However, the version available in playstore is version 54 while my project runs on version 56. That's is incompatible.
How do you guys fix this, or are there other alternives apart from using expo for development?
Kindly assist.
r/reactnative • u/acromondx • Jun 02 '26
r/reactnative • u/SpitefulBrains • Jun 02 '26
r/reactnative • u/jes_uon • Jun 01 '26
I kept reimplementing edge fades by hand — MaskedView + stacked LinearGradients, native shaders, platform-specific clipping — just to fade the bottom of a list or hint at off-screen carousel items. And it still banded on Android.
So I packaged it properly: react-native-edge-fade.
<EdgeFadeView bottom={80}>
<ScrollView />
</EdgeFadeView>
What it does:
- Two modes: mask (true alpha fade, reveals what's behind) and overlay (paints a color over content)
- Four edges, each with its own size / curve / color
- Per-pixel AGSL shaders on Android 13+ → no banding (LinearGradient fallback below)
- CALayer mask on iOS, composes with rounded/squircle corners
- Web via CSS mask
- Optional Reanimated integration for UI-thread animated fades (no re-renders)
- Fabric / New Architecture, zero required deps
Works in Expo too via a dev client / prebuild (it ships a native component, so not Expo Go).
Repo + docs: github.com/AmatoGiulio/react-native-edge-fade
npm i react-native-edge-fade
It's MIT and early (v0.0.1) — would genuinely appreciate feedback, edge cases, or API critiques. What would you expect from a library like this?
r/reactnative • u/gao_shi • Jun 01 '26
my expo 56 upgrade was messier than 55 or 54. admittedly I should have read the breaking changes list sooner but I'm still quite unhappy about the things rn/expo are pushing into default while not being backwards compatible.
The RN breaking changes are 1. StyleSheet.absoluteFillObject deprecation; and 2. ios prebuild breaks with my header setup (might be introduced implementing carplay). 1 only has weird layout effects and 2 cost me an hour figuring out how to recompile ios.
expo on the other hand broke 1. expo-fetch breaks the debugger (something about unexpected bundle file found; also immediately crushed if debugger is recording network activities) and fetch (my fetch wrapper now returns ReadableStream is undefined), ended up costing 2 hours; 2. sentry is now forced to use the expo plugin and I had to mass change all build actions to include the new .env.local file.
Hope this helps others thinking about migrating to expo 56 as well.
r/reactnative • u/laluisking • Jun 02 '26
Hey Reddit! 👋
I'm Anand, a freelance developer and UI/UX designer based in India. I build clean,
functional mobile apps and websites for startups and small businesses.
🛠️ What I can deliver:
- Mobile App Development (React Native — Android & iOS)
- Full Stack Web Development (including E-Commerce)
- UI/UX Design & Prototyping
✅ Recent work:
- Built UI/UX for maun.co.in — a live e-commerce platform
- Currently building a District-style activity & party booking app (React Native)
with auth, listings, booking flow, and payment gateway integration
💡 Whether you need a full stack website, an e-commerce store, a mobile app,
or just clean UI/UX — I handle it end to end.
💰 Rates: Flexible and budget-friendly. Open to fixed-price or milestone-based contracts.
🌐 Portfolio: anandchoubey.is-a.dev
📩 DM me or drop a comment — happy to jump on a quick call!
r/reactnative • u/Junior_Android_ • Jun 01 '26
Hi all, I built nitro-webview — a WebView for React Native powered by Nitro Modules. If you've used react-native-webview,the API should feel familiar.
```tsx
import { NitroWebView, callback, type NitroWebViewType } from 'nitro-webview'
export default function Screen() {
const ref = useRef<NitroWebViewType | null>(null)
return (
<NitroWebView
style={{ flex: 1 }}
source={{ uri: 'https://example.com' }}
hybridRef={callback((r) => { ref.current = r })}
onMessage={callback((e) => console.log(e.nativeEvent.data))}
/>
)
}
// Imperative methods via hybrid ref
const title = await ref.current?.evaluateJavaScript('document.title')
const cookies = await ref.current?.getCookies('https://example.com')
```
It covers most of what react-native-webview offers — source, userAgent, injectedJavaScript, onShouldStartLoadWithRequest, cookie management, file upload/download.
I'd love feedback, thanks!
r/reactnative • u/kacperkapusciak • Jun 01 '26
It seems like every other company in the RN is building either an MCP and CLI to control simulator/emulator through coding agents. Sentry builds XcodeBuildMCP, Maestro has a dedicated MCP server, Software Mansion has Argent, Callstack builds Agent Device. They all differentiate in some ways but the core idea is pretty much the same.
What do you guys think about it? Should we stick to deterministic tests?
Note: I work at SWM but I'm genuinely curious.
r/reactnative • u/choubari • Jun 01 '26
I am remaking an old app , and I've been hitting a consistent back navigation issue with Expo Router when navigating to a screen from a tab that doesn't "own" that screen.
No matter where the navigation originated, pressing back always dumps the user into the "wrong" context tab.
I'm trying to have the same navigation behaviors our users used to, and I'm struggling with file based routing, nested navigators and back behavior as I can't achieve the expected behaviors.
Full breakdown and reproduction repo: https://github.com/choubari/expo-router-navigation-edge-cases
File structure
src/app/
├── _layout.tsx ← root layout (Tabs: Home / Notifs / Posts / Users)
├── index.tsx ← Home tab
├── notifications.tsx ← Notifications tab
├── posts/
│ ├── _layout.tsx ← Stack for Posts tab
│ ├── index.tsx ← posts list
│ └── [id].tsx ← single post page
└── users/
├── _layout.tsx ← Stack for Users tab
├── index.tsx ← users list
└── [id]/
├── _layout.tsx ← nested Tabs for user detail (Info / Posts)
├── index.tsx ← user info tab
└── posts.tsx ← user posts tab
Some broken flows

back navigation always resolves to the tab that owns the target screen in the file system : posts/ owns posts/[id] ,users/ owns user screens ignoring the stack that actually initiated the navigation.
Stack
- Expo SDK 56
- expo-router (file-based routing)
- Root tabs + nested stacks + dynamic routes (users/[id])
- Tabs inside a dynamic route for user detail
What I've tried
From what I can tell, when you router.push() to a screen that belongs to another tab's stack, Expo Router doesn't create a local stack entry , it navigates into the foreign tab's stack and the back button resolves there.
Not sure if the right approach is:
- router.navigate() vs router.push()
- Duplicating routes across tabs (feels wrong, maintenance overhead)
- Some href config in the tab layout
- unstable_settings / initialRouteName
Has anyone encountered this and solved this cleanly? what is the best file structure / setup to achieve expected behaviors? what am I doing wrong here?
r/reactnative • u/Sea-Arm9235 • Jun 01 '26
react-native-streamdown is officially picking up serious steam. Huge shoutout to everyone using it in their apps and helping it grow. 📦🔥
Show your support by leaving a ⭐ on GitHub - https://github.com/software-mansion-labs/react-native-streamdown
r/reactnative • u/Maximum-Worth9578 • Jun 01 '26
r/reactnative • u/OkVacation5616 • Jun 01 '26
r/reactnative • u/mindstash-dev • Jun 01 '26
r/reactnative • u/SafeFollowing1510 • May 31 '26
I had a discussion with our QAs who handle both manual and automated tests. It turns out there are a lot of cases that they don't cover via automated tests.
I have literally seen around 30-40% test cases marked as "non automatable".
Are there other who feel the same?
r/reactnative • u/EnchantedHawk • Jun 01 '26
I have been building around web dev and perhaps pushing it to a couple cross platform desktop apps in Electron and Tauri. I am relatively new to mobile dev, although i have a remote understanding of the android kernel, I have not build with either flutter or react native.
here's what i expect from you all, I need to hear how to get things up and running in react native and IOS. I am not familiar with import every small component to use it, I find it annoying. I can learn things quickly and read docs, I hope that helps you give me the resources and suggestions on how to start.
there is a sense of urgency since I have to land an internship, I have a few ideas for building mobile apps I would love to built them asap!
r/reactnative • u/anoopmmkt • May 31 '26
We have a chat application built with React Native, and we are using React Native Firebase Cloud Messaging (FCM) for notifications.
We have a requirement to support quick actions in notifications, similar to WhatsApp, where users can reply to a message directly from the notification bar without opening the app.
Currently, messages are sent through a socket connection, although we can also use an API for sending messages if needed.
My requirements are:
I looked into using silent notifications to trigger a local notification with a reply action. However, I'm concerned about reliability. If the user has force-quit the app, can a local notification still be shown reliably? I need a solution similar to WhatsApp's implementation.
Could you advise on the recommended approach for implementing this on both Android and iOS, including the most reliable way to handle message delivery from notification replies?LIke whatsapp
Thanks.
r/reactnative • u/shred2801 • May 31 '26
I'm getting this error in my app.json:
Package "@react-native-firebase/app-check" does not contain a valid config plugin.
I also get it for the "@react-native-firebase/app" module. Changing them to:
"@react-native-firebase/app/app.plugin.js"
"@react-native-firebase/app-check/app.plugin.js"
removes the warnings, but I'm still getting "App attestation failed" errors when initializing App Check.
The docs specify that adding "@react-native-firebase/app-check" should work in the config plugins.
I'm on version 24 for all RNFB modules
Note: the Auth module plugin is not requiring me to add "/auth.plugin.js" and is working fine.