React Native has a different philosophy -- it intentionally abstracts away the platform APIs entirely, and unless you're writing a native plugin you're only able to access a React-centric API. This is a lot more ambitious and leads to a great developer experience when it works. Some people however feel that it's a misguided effort and that you can't expect to write fluid mobile applications without interacting with the platform primitives directly. The jury is still out on how well it will scale and there definitely still are pain points with both the developer experience and app performance, but many people including myself have written production apps in it and in my opinion it largely delivers on its promise.
It was actually very common that if I didn't know how to do something I'd look it up for iOS on Stack Overflow, because it was almost certainly answered there, then look up the corresponding Xamarin object/function names.
Xamarin Forms however is a framework that performs abstraction, in a similar vein as React Native. Xamarin Forms is built upon the Xamarin API.
[1] https://developer.xamarin.com/guides/xamarin-forms/dependenc...
Xamarin Forms Labs is a great open source project for controls and services using Xamarin Forms: https://github.com/XLabs/Xamarin-Forms-Labs
I would not mind switching the Android Java side -- to Xamarin, but will I still be able to have a portion of my app in React Native? Are there any open source examples that use Xamarin and React-native?
http://blog.metaobject.com/2015/04/reactnative-isn.html
Xamarin is much closer to native. In particular, unless you choose to use Xamarin Forms, you'll be using each platform's native UI APIs, so your UI will be indistinguishable from an app written in the platform's native language. Also, whereas React Native for iOS is restricted to using the JavaScriptCore interpreter (not even the JIT compiler), the Xamarin toolchain AOT-compiles .NET IL to native code.