Every technology has limitations and so does React Native.
Following are some of the common limitations:
Bridge Serialisation – React Native consists of a bridging concept between the two components namely native component and java script component. This costs heavily to developers in some cases thereby preventing from sharing memory between JS and Native component.
Heavily depended on third party libraries – RN relies heavily on third part libraries. That said, it is not always beneficial to rely on third party as there is no warranty when these libraries will become outdated in future.
Overly Web focused – React Native is overly web focused. That said, it is a threatening point for most of native developers. It is a limitation since we can expect a common platform for this.
Mixed Gesture systems – React Native possess some mixed gesture system as of now. For instance gestures such as Touchable and Panresponder lies in JS realm and on the other hand, gesture such as scroll view implementation is made to implement in native realm.
Though, React Native gesture handler is improving on this but overall experience is not at par when being compared to native apps.