I have used both platforms too, one full Xamarin app 2 years ago when Visual Studio for Mac was Xamarin Studio and recently been working on a solid React Native project. React Native seems great and you can iterate fast. The react model simplifies data flow and you have less code you need to end up writing. JSX is nice and hot reloading is seriously a win.
However if you look at their Android support, it seriously is second-class. If something React Native does not support for a View (say Letter spacing on a TextView), good luck getting it implemented. Also, currently we cannot compile with latest Android SDK 26, tools, or even support libs (they’re stuck on a 23.x version which was released in September of 2015 (!). Xamarin has always updated tools and libraries within a very small window of couple weeks or less. There are more issues you will find as you develop that have been open as issues for longer than a few months with no fix or solution from the team at React Native. So what you end up doing is either building the component yourself, or compromising on design because one platform did not support it completely.
Also, to be forewarned if you are a startup, their licensing model is seriously troubling. You cannot sue them if they decide to copy your idea if you use react in your projects.
Lastly, let’s not forget Parse. where they said they would continue working on it without disruption only to drop it and screw over many developers who relied on it. If say, tomorrow Facebook decides to drop support for it, that would leave devs in a serious bind.