r/expo

▲ 8 r/expo

Is it just me or is Android absolutely dreadful?

I've spent the past 4 months buried in building an app for iOS and Android with Expo, HeroUI Pro Native, Firebase. I've got a bunch of Native modules, all working absolutely fine. Expo is phenomenal, HeroUI has some beta bugs, but in general it's excellent.

iOS has been a dream - performant, smooth transitions, everything is working exactly how I want it, with very little effort. I'm testing it on physical iPhone 13Pro, iPhone 15Pro and iPad 11 M2, plus a ton of Simulators. It's rock solid, aiming for public beta in about 2 weeks time. It's quite a complex app, but it's been a doddle and it's working exactly how I want it.

Android on the other hand - is an absolute shit show. I'm testing on a physical Samsung A12 and a Galaxy S24, plus various emulators. Really slow and laggy, constant crashes, weird interaction bugs, overlays that randomly stay mounted that intercept other interactions and make it unusable, pressables needing multiple clicks.... aaaaargh.

I've been an Apple user forever, and honestly even just using an Android phone with other apps, it feels like a poorly made toy that I want to throw at a wall, the screen resolution looks aliased, nothing ever feels like it's cohesive. What a shambles! Does anyone actually like Android?

I'm seriously considering just sacking off building the Android version at all. I had hoped to be able to release both, but given the energy and time this is taking up I think I'm going to ditch it!

reddit.com
u/picpoulmm — 3 days ago
▲ 8 r/expo+2 crossposts

How do you debug in React Native? I made a walkthrough of breakpoints, stepping and Watch in DevTools

I used to debug almost everything with console.log, and it cost me a lot of time. Once I started using breakpoints in React Native DevTools, finding bugs got much faster.

Here's the short version of what helped me:

- Breakpoints pause your app at an exact line, so you can inspect the real values at that moment instead of guessing which logs to add

- Stepping (step over / step into / step out) lets you follow the code line by line and see where it goes wrong

- Watch lets you track specific variables or expressions as the code runs, without adding a log for each one

- Different breakpoint types are useful in different situations, for example when a bug only happens under a certain condition

I recorded a video that explains why breakpoints are worth using and shows each of these live in React Native DevTools:

https://youtu.be/NexWmQN5gY8

I'm getting back into making videos after a long break, so I'd really like honest feedback.

Question for everyone: what's your debugging setup in React Native? Do you use DevTools breakpoints, Flipper, console.log, or something else? And is there a debugging topic you'd like me to cover next?

u/raju_gupta — 4 days ago
▲ 4 r/expo+1 crossposts

Navigation bar issue

Hey React Native devs! I was wondering if anyone here has successfully managed to style the Android navigation bar to match the color of your tab bar (like other Google apps do), using expo-navigation-bar or any other solution?

u/Civil-Topic2708 — 3 days ago
▲ 4 r/expo+1 crossposts

I built a privacy-first iOS fitness dashboard with Expo + React Native — everything is processed on-device (open source)

I've been working on EdgeFit, a small iOS app that reads activity data from Apple Health and keeps everything local: processed daily summaries live in SQLite on the device, and insights are generated on the device too. No account, no backend, no analytics.

**What it does**

- Dashboard with steps, active energy, active time, workouts and an Activity Score (with a breakdown of how it's computed)

- 7-day charts (custom SVG), where missing days are drawn as gaps instead of zeros

- Workouts list, plus a Privacy Center and a "clear local data" option

**Tech**

- Expo SDK 57 + Expo Router (NativeTabs), TypeScript

- `@kingstinct/react-native-healthkit` for Health data, behind a `HealthService` interface so a mock provider powers the demo mode

- `expo-sqlite` + a small repository layer

- TanStack Query for the sync/read flow

- Charts and icons drawn with `react-native-svg` — no icon or chart library

**Why**: it's the first step of an Edge-AI experiment. The insight engine is deterministic rules today, but it's behind an interface so it can be swapped for an on-device model later.

Screenshots are in the post (demo data). Code is MIT: https://github.com/raviseta/edgefit

I'd love feedback on the architecture and the UI — especially how you'd structure the HealthKit permission/denied states.

u/raviseta07 — 4 days ago
▲ 2 r/expo+1 crossposts

How to make multiline textinput scrollable after certain lines

I'm trying to make a multiline TextInput that starts at one line and increases its height whenever the text moves to a new line, up to a maximum of 5 lines. After it reaches 5 lines, I want the height to stay fixed and any additional lines to become scrollable. I'm using lineHeight: 20, so I tried setting the maxHeight to 100, along with multiline and scrollEnabled.

I've also tried using onContentSizeChange to dynamically update the height, but I still can't get the behavior I want. I'm using Expo SDK 54 with the New Architecture on an iPhone 16 simulator. Has anyone implemented this kind of TextInput behavior? What's the proper way to handle the height and scrolling after 5 lines?

PS: used AI to write the body, my english (maybe react native too) is bad to make you understand my use case

reddit.com
u/tr__18 — 11 days ago