The issue is as soon as you stray off the well laid path similar to the old create-react-app problems you have to choose "do things their way" or "Suffer all the problems you avoided with the framework + all the problems of the library you added".
For example at work I help maintain a React-Native app that is one of the core parts of our business, We investigated Expo but we use sodium in the app for keypair generation and its not supported. So we can't have any of Expo's benefits because of one unsupported library. (its supported in iOS and Web but not Android...)
* There are packages that implement sodium in expo but they score too poorly on their security scores for us to use them.
E.g. I would not like to give up the Gmail app and use the web interface.
But if you need to use any platform specific native SDKs like camera/push notifications or other 3rd party native SDKs, you're going to be in a world of pain.
For one reason or another, beyond the usual and small trade offs between platforms, they have all ultimately failed, become overly complicated to maintain and add more logic to. Especially an issue has been the special punishment of having the same codebase work in a dev environment on Mac/windows/Linux.
One tech I see being part of the next curve (the prior curve being things like reactnative, etc) is Flutter, or others like it.
First class dev environments, first class documentation.