You should know that both of you try to solve the same problem of facilitating cross-platform development using web technologies.
React Native tends to be faster because it uses native components every time. But it has a larger learning curve because it skips a little bit of what people are accustomed to (use JSX ). Of course it depends on what you are accustomed to. If you know AngularJS, make it easier. The fact is that there is not a glaring difference to one side or the other.
Ionic is a hybrid and non-native technology . It tries to reproduce the behavior of each platform and may or may not resort to native components, even if it uses something native, it will be indirect, so not only will the performance be lower, but it does not always seem like it is using something made for that operating system. If you start using plugins to improve the experience, start complicating development.
React Native is native even , even though using web technologies, and produces a better user experience.
Being native helps performance and UX .
You tend to develop a little faster with Ionic, made the application, it works anyway on "all" platforms. It takes a little more effort with React Native.
Perhaps the main difference is that Ionic is "write once, deploy everywhere and React Native is" learn once, write everywhere ", at least that's what they are often called.
Be sure to consider other possibilities that may be better than these for you. It's that old thing, it does not have a clear winner. You have to get both, try until you find the one that will be most appropriate for each project.
The decision is whether it will cost cheaper, in theory, or whether it will offer a better product in theory.