Большинство отличий -
1) Используются не теги а react-native components (например View = аналог дива, Image = аналог img)
2) Есть некоторые правила и исключения, например некоторые css стили не работают/работают по другому и есть новые. Например View по стандарту уже flex с flexDirection: column (хотя div пустой изначально)
3) Для доступы к нативным компонентам используются модули сообщества/facebook, например нативная navigation
4) Есть конечно же и другие отличия, например свои методы по типу alert, которые надо импортировать, вибрация, подключение к сети, типы клавиатур и т.д.
Я не очень крутой react программисты (фулл стек грубо говоря MERN), но где-то деньков 10 по изучал react-native и принципе мог уже писать более менее нормальные приложения. Но я думаю большие приложение нельзя делать на native, тк это все же костыли, например анимация будет не через transition а просто к какому стейту через какое-то время прибавляется по 0.0001 и происходит перерендеринг, что может плохо сказаться на производительности. Если не хочешь изменять любимому js, то конечно это единственный выход, но если ты крутой программист то изучить джаву (или котлин) или же свифт за месяцок-другой, чем делать все на костылях, которые в итоге преобразуются в ту же джаву или сфивт.