Кардинальных изменений нет, все работает по тем же принципам что и раньше, единственное больше уклон в сторону разработки на хуках, от классовых компонентов постепенно уходят.
Но при этом во многих проектах осталось куча легаси со старыми версиями реакта, вполне возможно что придется их поддерживать и знания пригодятся, если же нет, то разобраться во всех нововведениях можно будет за 1 день
Приложения на react native при сборке компилируются в нативный код поэтому для эпл разницы нет на чем написан проект, почти вся бизнес логика приложения может быть единой как для сайта так и для приложения, основные отличия будут в верстке - для мобил там есть особенности, но в них разобраться можно за пару часов.
Ну и большой бонус что приложение также можно будет собрать под андроид
Яндекс не научился, гугл это делает плохо, если сео имеет значение то без ssr не обойтись. Проблем с реализацией нет, существует очень удобная либа nextjs, используем ее на проде и радуемся
Я называю контейнерами такие компоненты которые не содержат jsx разметки, они работают с данными и передают их в другие компоненты (тупые), которые в свою очередь ничего с данными не делают, а подставляют их в jsx и возвращают разметку
Я стараюсь всю логику выносить из контейнеров, контейнеры просто получают данные и раскидывают их по компонентам. Вся логика в экшенах или выношу в отдельные утилиты