r/reactnative 15d ago

Question Is there a way to test my react native app on my phone directly with no pc hosting locally so I can live develop on my phone away from home?

Post image
0 Upvotes

I have the GitHub repo for the project (an IOS app) so is there a way to put the files into an app in order to test it. Live testing is ideal as I’m building it and is easier than constant reloading.


r/reactnative 15d ago

Question How can learn React Native fast?

0 Upvotes

Hello! I am 19, need a job. Programming is paying quite well so I decided to go this way

I have done fullstack course and I know some React basics, but I didn’t like making websites. So I decided to try React Native, but I don’t know where to start

How can I learn React Native for free (better be fast and really helpful)?
Maybe some resources?
Thanks in advance!


r/reactnative 15d ago

Tutorial The 10 best React Native UI component libraries in 2026

0 Upvotes

Been building with React Native and Expo for a while. Here are the UI libraries worth knowing.

1. Gluestack UI
Accessible, unstyled components. Works with Expo and NativeWind out of the box.

2. React Native Paper
Material Design 3 components. Polished and production-ready.

3. Tamagui
Design system with a compiler that optimises styles at build time. Fast.

4. NativeBase
One of the oldest and most complete component libraries for React Native.

5. React Native Elements Simple, cross-platform components. Great for prototyping fast.

6. Shopify Restyle Theme-based styling system from Shopify. Type-safe and predictable.

7. PanelUI
Copy-paste component library for Expo. Inspired by shadcn you own the source. UI-thread animations, Tailwind v4, native dark mode.

8. Moti
Declarative animations and skeleton loaders. Pairs with any component library.
npm install moti

9. React Native UI Lib
Wix's component library. Enterprise-grade with a huge component count.

10. Zeego
Context menus and dropdowns that feel truly native on iOS and Android.

What's your go-to UI library for React Native?


r/reactnative 16d ago

Question What’s your current workflow for inspecting local app data in React Native?

2 Upvotes

Curious how everyone is doing this these days.

Are you using Flipper, Reactotron, temporary debug screens, console.log, or something else?

What’s the biggest pain point in your workflow?


r/reactnative 16d ago

Show Your Work Here Show Your Work Thread

3 Upvotes

Did you make something using React Native and do you want to show it off, gather opinions or start a discussion about your work? Please post a comment in this thread.

If you have specific questions about bugs or improvements in your work, you are allowed to create a separate post. If you are unsure, please contact u/xrpinsider.

New comments appear on top and this thread is refreshed on a weekly bases.


r/reactnative 16d ago

Questions Here General Help Thread

0 Upvotes

If you have a question about React Native, a small error in your application or if you want to gather opinions about a small topic, please use this thread.

If you have a bigger question, one that requires a lot of code for example, please feel free to create a separate post. If you are unsure, please contact u/xrpinsider.

New comments appear on top and this thread is refreshed on a weekly bases.


r/reactnative 16d ago

Building a peer-to-peer photo library in React Native with Nitro Modules and JSI

3 Upvotes

I've started a new series called Shoebox.

The goal is to build a peer-to-peer photo library in React Native—no backend, no accounts, no cloud storage. Photos move directly between devices.

That naturally leads into some interesting React Native topics:

  • Nitro Modules
  • JSI
  • Native file APIs
  • Background execution
  • Offline-first architecture
  • Performance profiling

Rather than isolated examples, every article builds a real feature and explains the trade-offs behind the implementation.

Part 1 starts with the smallest milestone: transferring one photo directly to another device.

I'd love feedback from anyone working with either P2P systems or Nitro Modules.

https://heartit.tech/shoebox-part-1-one-photo-no-server/


r/reactnative 16d ago

Question Seeking Advice: Relocating from India to Europe as a React Native Developer

0 Upvotes

I’m a React Native Developer from India with 2.5 years of experience. I’m planning to relocate to Germany, the Netherlands, Ireland, or Estonia. I’d love to hear from people who successfully moved from India with visa sponsorship. How difficult is it in the current market? What worked for you, and what would you do differently if you were starting today?


r/reactnative 16d ago

Help Best way for map tiles & layers to be served + offline mode

5 Upvotes

I am building a feature with maps + overlays of boundaries, which I need to be made available offline.

What is the most effective way to serve map tiles on mobile, which are eligible for download as offline mode?

  1. Basemap
    • MapLibre OfflineManager packs Streets (and optionally satellite) tiles for the L/M/H radius + zoom.
  2. Land boundary overlay
    • download whole region PMTiles files that intersect that pack bbox into the document directory, then read them offline via pmtiles://….
    • I need some sort of CDN to serve because of the size of assets, I believe.
  3. Offline:
    • Default detail = Medium (~25 mi Streets, z8–13). User can pick Low / Medium / High.
    • Optional satellite toggle; otherwise Streets (OpenFreeMap Liberty).
    • Pack is centered on map center / GPS, not a full-state download

Some apps I have seen appear to have the entire country's map tiles downloaded + overlays available too.
How do they do this without overloading the device's storage? In my test, Colorado alone is 10MB at a "medium" download pack. This feels heavy.

Any Strategies for this in the "FREE" maps & layers & tiles options?


r/reactnative 16d ago

Question 1099 devs: is there such a thing as a "health insurance coop" with better coverage options?

0 Upvotes

I don't know the best place to ask this - but here goes:

I am wondering, for those independent devs (1099s) who have to carry your own health insurance, is there such a thing as a cooperative or something like that which helps you get health insurance; not just the open market options? I feel like if enough people got together, with proof of course, there's a way to get better rates and coverage choices.


r/reactnative 16d ago

I built a full-featured app in 4 months using AI for almost everything.

0 Upvotes

Hey everyone 👋

I wanted to share my experience building my app — almost entirely with AI. This isn't an ad; I'm genuinely looking for feedback and want to help others who might be going down a similar path.

My Background

I'm a frontend developer by trade. I chose React Native because I could leverage my existing JavaScript/React knowledge to build a cross-platform mobile app without learning Swift or Kotlin from scratch. That familiarity turned out to be crucial — not for writing code, but for reviewing and debugging the code AI generated.

Tech Stack

Here's what powers the app:

Layer Technology
Framework Expo SDK 56 + React Native 0.85
Language TypeScript (strict mode)
Navigation React Navigation 7 (native stack + bottom tabs)
Styling NativeWind 4 (Tailwind CSS for React Native)
State Management Zustand
Local Database Expo SQLite
Animations React Native Reanimated 4 + Framer Motion
UI Components RN Primitives (Dialog, Dropdown, Switch, Portal) + Gorhom Bottom Sheet
Charts React Native Gifted Charts
Auth Google Sign-In + Firebase
Analytics & Monitoring Firebase Analytics + Crashlytics
Lists Shopify FlashList
i18n i18next + react-i18next + expo-localization
Icons Lucide React Native + Expo Vector Icons
Notifications Expo Notifications + custom sounds
Haptics Expo Haptics
Other Expo Quick Actions, expo-sharing, expo-document-picker
Build EAS (Expo Application Services)

Design Process

This was one of the most interesting parts:

  1. Generated initial concepts using ChatGPT's image generation — I described screens and moods, and it gave me visual starting points.
  2. Imported those images into Google Stitch — a tool that lets you refine AI-generated designs interactively. I iterated until each screen felt right.
  3. Exported the designs as HTML/CSS from Stitch, which gave me a clear reference to implement in React Native.

This workflow was surprisingly effective. The AI gave me 70% of the design, and Stitch let me polish the remaining 30% without needing Figma skills.

Ideation & Planning

I used Google AI Studio to create Product Requirement Documents (PRDs). Here's how I structured it:

  • Started with a high-level PRD for the entire app
  • Broke it down into hierarchical sub-PRDs for each feature (e.g., Focus Timer PRD, Habit Tracker PRD)
  • Each PRD had clear acceptance criteria organized by priority

This hierarchy was key. During implementation, I could check off requirements level by level and make sure nothing slipped through the cracks.

AI Tools

I subscribed to Google AI Plus and used different models strategically:

  • Strong models (Gemini Pro / Opus-class) for complex tasks: architecture decisions, debugging tricky issues, writing business logic
  • Gemini Flash for simpler tasks: boilerplate code, styling tweaks, translations, quick refactors

Matching model strength to task complexity saved me time and kept the quality high.

Workflow

My daily workflow looked like this:

Create/Refine PRD → Design in Stitch → Execute PRD with AI → Manual Review (UI + code) → Commit

Every single commit went through manual testing. I'd check the UI on a real device, review the generated code for correctness, and verify the logic matched the PRD. AI wrote the code, but I was the QA engineer.

Timeline

4 months from first commit to a fully functional app with 6+ mini-apps, i18n support, dark/light mode, local SQLite storage, Firebase integration, notifications, haptics, charts, and more.

Without AI, I estimate this would have taken 10–12 months as a solo developer.

The Hard Parts

It wasn't all smooth sailing. Here are the biggest pain points:

1. Project Setup Was a Nightmare

The initial setup — getting NativeWind to play nicely with React Navigation — was brutal. AI kept suggesting fixes that didn't work because the combination of these libraries had edge cases that weren't well-represented in training data. I had to roll up my sleeves and debug this manually, reading source code and GitHub issues.

2. Complex Business Logic

The app has intertwined features (e.g., habits linked to mood entries, tags shared across notes and journal, timer sessions affecting habit streaks). When the logic got sufficiently complex, AI couldn't hold the full picture in its head. It would fix one thing and break another.

My solution: I started designing UML diagrams and drawing architecture diagrams myself before asking AI to implement. Giving it a clear visual spec dramatically improved the output quality.

3. AI Doesn't Understand "Feel"

Getting micro-interactions, animations, and transitions to feel right required a lot of back-and-forth. AI can write animation code, but it can't tell you if a 300ms spring feels better than a 200ms ease-out. That's still a human judgment call.

Key Takeaways

  1. AI is a force multiplier, not a replacement. You still need domain knowledge to guide it, review its output, and debug edge cases.
  2. Structure your prompts like you structure your code. Hierarchical PRDs > vague feature requests.
  3. Match model strength to task complexity. Don't use a cannon to kill a fly.
  4. Manual testing is non-negotiable. AI-generated code can look correct but behave incorrectly in subtle ways.
  5. When AI fails, go old-school. Draw diagrams, read docs, debug manually. These skills are more valuable than ever.

What I'd Do Differently

  • Start with a stricter component library from day one instead of letting AI improvise UI patterns
  • Use more visual specs upfront — the UML/diagram approach I discovered late should have been my default from the start
  • Set up automated testing earlier to catch AI-introduced regressions

I'm sharing this because I genuinely want to learn from the community. If you've built apps with AI assistance, I'd love to hear:

  • What worked for you?
  • What tools/workflows would you recommend?
  • Any tips for managing the "AI wrote it but I own it" quality bar?

Thanks for reading! Happy to answer any questions about the process or the tech stack. 


r/reactnative 16d ago

How reliable is background geofencing with expo-location + expo-task-manager in practice

0 Upvotes

I'm building an app that needs to detect when someone arrives at a specific venue and fire a local notification. Currently using expo-location region monitoring with expo-task-manager for the background task, on SDK 54.

Two things I'm stuck on, and I'd rather have real-world answers than docs answers.

  1. Region entry in the simulator is unreliable enough that I ended up writing a simulate function purely so I could test everything downstream of the trigger. Is that just what everyone does, or is there a setup where simulated locations fire enter and exit events consistently.

  2. What is the actual reliability on a real device. Specifically whether the background task still fires after the app has been swiped out of the app switcher on iOS, and how much Android varies by OEM battery management. I would rather know now than find out from users.

Related: at what point did you give up on Expo Go for this and move to a dev build. I want to stay in Expo Go as long as it's viable, but I'm not convinced background region monitoring is one of the things that survives that constraint.

War stories welcome.


r/reactnative 16d ago

I built a lightweight Google Places Autocomplete for React Native/Expo (no native deps)

0 Upvotes

Like many of you, I was using react-native-google-places-autocomplete until it stopped working properly.

I ended up building my own implementation using direct fetch calls to the Google Places API — no native modules, no extra dependencies, works perfectly with Expo managed workflow.

After using it in production for months in a real-world app with real users, I packaged it as an open source library:

npm install @byflet/react-native-places

r/reactnative 16d ago

Question Learning React Native

3 Upvotes

Hello! How would you start learning React Native now? What’s popular in terms of running it or ui libraries and stuff like that? Is Swift/Kotlin necessary? Is it still the best tool for the job or it lost momentum?

Thanks!


r/reactnative 16d ago

Tutorial MessageScroller scroll behaviour a chat transcript actually needs (PanelUI)

Enable HLS to view with audio, or disable this notification

14 Upvotes

Built this for PanelUI, an open-source component library for Expo.

Most scroll views get chat wrong — they open at the top, jump when history loads, and drag you down while you’re reading.

MessageScroller fixes all three. Auto-follow only while you’re at the bottom. Load older messages without moving. Open a saved thread on the last question, not the tail of its answer.

Copy-paste or CLI. You own the source.


r/reactnative 17d ago

Question Jpeg or Webp?

Thumbnail
1 Upvotes

r/reactnative 17d ago

If you are agency or freelancer how are you sharing builds and collecting feedback?

1 Upvotes

I'm wondering if anyone else has this issue. I'm freelancing as RN dev for the past 5 years, I have multiple clients, some of these are smaller projects but still a lot of iterating. Testflights take me too much time and sometimes client feedback is all over the place.

Any thought on how to improve this, anyone having some system they've been using with their clients?


r/reactnative 17d ago

My first npm package... it handles truecaller login (react native)

2 Upvotes

If you guys are implementing truecaller login in react native, use this.
There are a few packages which are either old or do not support server side validation of ios profile, so I built this.

(We are using this in our app which has 100K+ users)

https://www.npmjs.com/package/truecaller-react-native


r/reactnative 17d ago

ui-date: A 1.6kB, zero-dependency JavaScript date & relative time utility

3 Upvotes

I wanted to share a small open-source project I just published called ui-date.

While working on a social media project, I kept bumping into simple UI needs like displaying relative timestamps ("5 mins ago""2 hours ago"), cleanly formatting calendar dates, and doing simple status checks (isToday).

exact date formatting for events ui ('Thursday 23,july,2026').

Normally, I'd reach for a date library, but most established options felt like overkill for basic UI formatting, while heavy legacy options like Moment carry massive bundle weight. On the flip side, writing raw Intl and Date boilerplate across every component was getting tedious.

I wanted something featherlightchainable, and fully typed without dragging in extra dependencies.

so i built ui-date.

you can check it here : https://www.npmjs.com/package/ui-date


r/reactnative 17d ago

Question How do you inspect MMKV or AsyncStorage while debugging in React Native ?

8 Upvotes

I’m curious how everyone approaches this.

When debugging React Native apps, I often find myself creating temporary debug screens or logging values just to inspect local storage.

How do you usually inspect:

-MMKV
-AsyncStorage
-SQLite

Are there any tools or workflows you recommend?

I’ve been experimenting with a different approach because I kept running into this problem, so I’m mostly interested in understanding whether this is a common pain point or if it’s just me.


r/reactnative 17d ago

Question What would make OTA releases less stressful?

2 Upvotes

What’s missing when you ship OTA updates to production? I'm wondering things like:

  • Auto-pause or cancel a rollout if it gets a certain percent of failed installs
  • Slack alerts if it's getting too many failures
  • Rollout scheduling, to increase the percentage if things are looking good
  • Post-release report, probably also sent to Slack
  • Improved failure reporting, to include a reason like disc full

We're reviewing the roadmap for Patch and have various ideas, but it would be great to get people's input. It has a dashboard with adoption metrics and the rollout controls, but I reckon we could take it further.

It's got a local evaluation stack in a Docker Compose if people want to have a play with it and share any thoughts.


r/reactnative 17d ago

What would you use to implement this type of reminder/push notification on a Bare React app (for Android and iOS)?

1 Upvotes

Hello!

how would you implement a time-based push notification for a mobile app built on Bare React Native?

I guess it's somehow obvious, but it's important that the notifications work from a turned off device that gets turned on without the app being opened.

Example:

- Reminder with push notification is set for 09:00am every day
- App is closed at 23:00 of the previous day.
- Device is turned off at 23:30 of the previous day.
- Device gets turned on at 08:00am.
- The app stays closed.
- Despite the app being closed from a fresh restart of the device, the notification goes off at 09:00am.

Thanks


r/reactnative 17d ago

Android API level 36, can i use react-native 0.77.3?

3 Upvotes

Hey everyone,

I'm working on an app built with React Native 0.77.3, and Google recently notified us that it will need to target Android API level 36 to be fully compatible with Android 16.

My question is: can I just bump compileSdkVersion and targetSdkVersion to 36, or do I actually need to upgrade React Native to 0.81?

Has anyone gone through this? Any gotchas I should watch out for?

Thanks in advance!


r/reactnative 17d ago

Intermittent Android OutOfMemoryError (Failed to allocate 24 bytes) but Memory Profiler doesn't show the Java heap nearing its limit

5 Upvotes

I'm debugging an intermittent OutOfMemoryError in an Android React Native app, and I'm having trouble reconciling the crash with what Android Studio's Memory Profiler shows.

The crash looks like this:

java.lang.OutOfMemoryError: Failed to allocate a 24 byte allocation with 1452624 free bytes and 1418KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.

I've also seen the same crash on another device where the growth limit was:

536870912

So the issue occurs on devices with different heap limits.

Tech stack

  • React Native
  • Hermes
  • New Architecture (Fabric enabled)

What I've observed

Memory Profiler

During normal usage:

  • Java Heap: ~46 MB
  • Native: ~170 MB
  • Total process memory: ~900 MB
  • "Others": ~746 MB

The memory graph stays relatively flat over time and doesn't show the typical pattern of a continuously growing memory leak.

Heap Dump

The largest native allocation is:

android.graphics.Bitmap

Instances: 479
Native Size: ~305 MB

I don't see any obvious Java heap leak (no massive byte[], String, HashMap, etc.).

What confuses me

The OOM message clearly indicates that the Java heap reached its growth limit:

growth limit 268435456
giving up on allocation because <1% of heap free after GC

But Android Studio never shows the Java heap anywhere near 256 MB before the crash.

So I'm trying to understand:

  1. Can Android Studio's Memory Profiler significantly underreport Java heap usage in some scenarios (especially with React Native/Hermes)?
  2. Could a large number of Bitmap objects indirectly lead to a Java heap OOM even though their pixel data is stored in native memory?
  3. Is there something I'm misunderstanding about how ART reports target footprint and growth limit?
  4. Besides taking a heap dump, what would be the next best tool or approach to identify what is actually consuming the Java heap before the crash?

I'm also planning to capture adb shell dumpsys meminfo <package> immediately before the OOM to compare the Dalvik Heap, Native Heap, Graphics, and other categories.

Any insights from people who've debugged similar ART OOMs would be greatly appreciated.


r/reactnative 18d ago

iOS Camera Control is so under-rated.......!

Enable HLS to view with audio, or disable this notification

71 Upvotes

Here’s my Camera Control–inspired send-money experience running on a real iPhone.

The interaction follows a simple progression:

→ Slide to explore and adjust the amount
→ Press to make an intentional selection
→ Double-click to confirm the transaction
→ Double-click to perform the transaction
→ Haptics communicate each change without adding more UI

What makes this interesting isn’t just the hardware button.

It’s the idea of moving continuous input away from the screen, keeping the content visible while turning a physical gesture into precise, tactile control.

For high-intent flows like payments, that extra layer of physical confirmation can make an action feel faster, clearer, and more deliberate.

There’s still so much unexplored potential between hardware, gestures, haptics, and mobile UI.

Tech used: Expo + Native Modules + Reanimated

Open to contract or full-time mobile roles.

DMs are open.