I tried React native for 1 year and did release 2 apps in production & 1 internal library.
And this is my experience (from a native development background).\
⌛ Highly productive comparing to native development, with less boilerplate code. I’ve rewritten a whole android app in 1/2 time or less.
🎨 Quick stilling, you can do almost everything with few lines of code.
⚙️ Hard to maintain. When the code gets bigger things to start to get messy, you might need to think about an architecture first
🔢 it may require testing to ensure a minimum quality on both platforms. Sometimes the same code works on 1 platform and other times it breaks only on some specific OS versions.
🤖 Hacky in term of plugins, not all plugins work efficiently on both platforms, they may require your interaction which means knowing both native languages (java/kotlin and objective-c/swift)
⚡ The Performance issue is really noticeable on the android platform, the app isn’t smooth like on the iOS platform.
❤️ Huge community, active and supportive!
✅ In conclusion, I may consider using React native for easy-workflow apps that don’t require low-level features, eg a news app, a to-do app, a chat app… Or even to build a quick MVP to save time and money.