Some reservations to choose RN: RN is possible due to the JavaScriptCore framework build by Apple. It is the bridge between JavaScript code and Cocoa API. Apple designed this so that you can use JavaScript as scripting language for Cocoa. The popular Sketch for OS X is using the precise JavaScriptCore to power its plug-in scripting feature. I guess Apple never have thought JavaScriptCore could be used the way RN does. Choosing RN means your app is relying on Apple's decision on JavaScriptCore API. Someone please enlighten me if RN is still possible or not if Apple remove JavaScriptCore.
JavaScriptCore opens up the Cocoa API, but does not give you a JavaScript ready API. So RN has to implement the bridge internally. So when iOS 10 is released, you will have some lag waiting for new features or changes to be supported by RN. I guess this is common problem to all cross-platform framework.
In order to implement RN for Android, Facebook implements its own JavaScripCore for Android. I have no Android experience, but what I read is RN app for Android is not performing as natively as its iOS counterpart.
If your business rely on all Apple's platform, then choosing RN does not help as there is no RN for watchOS and tvOS.
React Native will make app manager and web-dev team happy, but not those who treasure the last mile UX experiences. But is could also be useful for those startups creating their first MVP. Get app release fast and then change to native codes when you got the traction. Is this good or bad startup advice?
It will be a different ballgame if Facebook announce they are moving to use 100% React Native for Facebook for iOS app.