At the beginning of this year when I had to choose a tool to develop cross-platform mobile apps, React native was my choice.
Most cross-platform tools available right now work as a wrapper around the WebView component available on iOS and Android. Having created couple of apps in Ionic before, when I had to make a choice, I wanted to choose a tool which complied to the native language.
Between Titanium and React Native, I chose React Native.
Having worked with React Native the last five months, my biggest complaint has to be something Facebook has been known to do. Move fast and break things.
React native has been improving quite fast. The plugin developers, on the other hand, are not able to keep the same pace. Most plugins developed don’t work on the latest version of React native.
I spent the last few weeks wanting to add certain features to the app I am working on. Having found the plugin online, when I tried to integrate the plugin, turned out the author has not worked on the plugin since 0.40.
Downgrading to 0.40 broke a few other components which had upgraded to use apis in the recent version. 🙁
After this experience, I am a bit hesitant to recommend react native to anyone. If you are a small team, I would not recommend using Ionic or Xamarin until React native reaches version 1.0.