I could always complain about React Native and Java.
I had a project I started in iOS native, Swift, coming from a previous project in Obj-C I [though I] had a decent handle on XCode though it had been years, with an S, since my last XCode work, realized it was unnecessarily complex given the nature of the project (and in discussing Enterprise iOS management with the client, I got some glazed over looks ...).
I'd wanted to try React Native (I had plinked around in React for web) to see if it allowed for quicker design iteration (since I do a significant amount of web dev so the layout approach looked familiar), and with this app, it's mostly just UI (so to speak), it's a pretty simple presentment layer, it does deal with the camera, but the data, the code logic, etc., is all in the API.
It also allowed me to address (with the client) there being an easy path to Android (while almost for sure, it still wasn't 100% given the target devices would be iOS based). Spent a few months in React Native, early on added Expo to the the toolchain because I needed several things in that SDK - even then I ran into a few needs that would've required an eject to native, but eventually the SDK updated, added what I needed, but then the tools would break, libraries go out of compatibility, etc., it was like herding cats.
This particular project was for internal use only, so I didn't need to deal with the App Store, and with React + Expo I considered just requiring an Expo client for consumption, so I could stay out of the native workflow altogether.
Then, mobile got back-burnered, we focused on the web side - for a long time - like a year
When I came back to React, everything was busted. And I don't use React for my web development (in fact, I avoid most "heavy" JS frameworks), so it's not like I had been working around the technology in the interim and could just hop right back into it.
So sitting down and thinking about what I needed, what I had already (like a mobile friendly BS4 layout already in place), and not needing features like push notifications, I wound up knocking out a quick PWA as a POC (for myself). A manifest and a worker JS file and I had an app I could save in Safari that provided offline caching, and with a couple of network detect libs and a little local storage, I had a functional offline implementation for the one functional area that needs it. So I'm about 99% confident that when - which could wind up being if - I make it back to the mobile part of this effort, I'll just go PWA.
Short version: turns out it wasn't a nail, so I didn't need a hammer