According to some, there might be a few reasons React Native can be considered to be tough. By and large, the simultaneous trying to fit both the iOS and Android platforms requirements and the desire to provide one development experience will lead to complexities introduced by each of the platforms with its unique specificities
Secondly, React Native capitalizes on the React library which is widely utilized, yet it adds mobile-specific components and APIs that require developers to familiarize themselves with, hence, the steep learning curve.
Additionally, optimizing performance can be more intricate than in purely native development due to the need to balance JavaScript execution with native UI rendering. The evolving nature of the React Native ecosystem also means developers must continually adapt to changes, which can be demanding.
However, as developers gain familiarity, access resources like documentation and community support, and appreciate the benefits of cross-platform code reuse, these challenges can become more manageable over time.