Вынесите выбор представления на уровень оболочки или маршрута, а общую бизнес-логику оставьте в сервисах; не дублируйте состояние без необходимости.
Если для desktop- и mobile-версий заведены разные наборы компонентов, но сервисы общие, как организовать переключение между версиями?
Вынесите выбор представления на уровень оболочки или маршрута, а общую бизнес-логику оставьте в сервисах; не дублируйте состояние без необходимости.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Вынесите выбор представления на уровень оболочки или маршрута, а общую бизнес-логику оставьте в сервисах; не дублируйте состояние без необходимости.
Для небольших отличий предпочтителен responsive CSS. Для разных сценариев можно лениво загрузить нужный набор компонентов, учитывая смену размера и сохранение ввода. При SSR первоначальное представление сервера и клиента должно совпадать, иначе появится hydration mismatch. Device detection не заменяет адаптивность.