I have answered this question for various clients.  I have experience building applications in multiple stacks and so I can compare and contrast a few of them in their current states.

I have a lot of requests for React Native development.  It is in high demand and is quite popular in the current market.  It is work I willingly do for clients that have already chosen this road.  However, when asked for my opinion on their technical direction I recommend against using it.

If you are looking for an efficient method of using one code base to hit multiple platforms.  A goal I find to make a lot of business sense.  I recommend a straight HTML5 approach to mobile apps.  I advise this route for about 80% of my clients as it serves their needs best.  It checks a lot of important boxes that meet their business cases and does so for less impact to their bottom line.  It's not a 'hip' solution, there are few, if any, major or popular companies promoting HTML5 standard for mobile.  And ever since Facebook famously abandoned it in favor of native development back in 2012 it seems to have slowly declined among the 'hip' developer's mind share.  All while it has quietly improved, phones have gotten a lot faster, and it has consistently had solid support for a long time.

Why not a hybrid platform like React Native?

The biggest glaring issues are the platform maturity and developer experience.  React Native has some beginnings of excellent tooling and clearly there has been a significant amount of effort behind it.  It is, however, not "there" where platform bugs are far and few between and relatively minor with respect to the impact they exert on your application and the required upkeep hours.  I've used professional grade development environments for over 2 decades.  I know what good tooling feels like.  React Native scores poorly.  In contrast, HTML5 has excellent and mature tooling for development.  Browsers have relatively good compatibility (especially compared to years past), and the inspection and plugins suites are excellent.

With all major frameworks, long term outlook and maintenance of the framework must be factored in it's use in major company infrastructure.  Facebook is the prime mover behind React Native.  Right now Facebook is embroiled in political controversies, struggling to recruit, and is having public leadership turmoil.  I don't think Facebook is going to disappear, but the volatility is a concern.  This is not an environment I really want to trust for important long term investments.  It's true that React Native is an open sourced project, so it may well survive Facebook's turmoil or even abandonment.  This environment still does not inspire confidence in me and I believe that it's chances are rather poor if Facebook ceases support for it.

Next we have the available labor pool.  It is much easier to find HTML5 devs than React Native devs.  Long term staffing is clearly much easier on the HTML5 side of the fence and will be for the foreseeable future.

Metrics on React Native vs HTML5 fall in favor of HTML5.  My experience with production applications are as follows on my hardware (Samsung S5 Active running the latest Android OS, it's older but serviceable).

Application cold start for two applications of similar complexity, React Native: 3 to 5s (varies), HTML5: 3s.  I have a simple HTML5 app with no network requirements that loads up in 1.5s.  Slight edge to HTML5 here, but pretty similar overall.

Application feel overall with similar complexity is so close that I can't really tell the difference.  It's dominated by backend latency, request time, technical design and architecture decisions, not local render speed.

Bundle size for apps of similar complexity, React Native 27MB.  HTML5 2.4MB.  Really big difference here, and the biggest that will be visible to the end user.  The minimum sizes of both approaches are about an order of magnitude different.  When every byte counts on a mobile network, especially for updates, this really matters.