Ответ вслух Junior Компоненты и стили обновлено

Чем вёрстка в React Native отличается от веба

Вопрос

Вы фронтенд-разработчик и переходите на React Native. Какие отличия в вёрстке и компонентах важно знать?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «React остаётся тем же, меняются примитивы. Вместо div и span используются View и Text, причём любой текст обязан быть внутри Text.

Что должно прозвучать в ответе

  • Примитивы `View`, `Text`, `Image`, `Pressable` вместо HTML; текст только в `Text`

  • Стили это объекты JS в camelCase, без каскада, наследование только между `Text`

  • Flexbox через Yoga: `column` по умолчанию, `flexShrink: 0`

  • Размеры в логических единицах без `px`, `useWindowDimensions` для адаптивности

  • Платформенные различия: `Platform.select`, тени, safe area, клавиатура

Что могут спросить следом

  • Как сделать общий стиль текста во всём приложении?
  • Как сделать тень одинаково на iOS и Android?

Разбор

Образцовый ответ: «React остаётся тем же, меняются примитивы. Вместо div и span используются View и Text, причём любой текст обязан быть внутри Text. Нажатия обрабатываю через Pressable. Стили это объекты JS: свойства в camelCase, числа без единиц, никакого каскада. Наследуется только стиль текста от Text к вложенному Text, поэтому общий шрифт задаю своим компонентом. Раскладка на Flexbox, но умолчания другие: главная ось вертикальная, элементы не сжимаются. Адаптивность через useWindowDimensions. И постоянно учитываю платформу: вырезы через safe-area-context, клавиатуру, тени, которые раньше задавались по-разному, а теперь есть boxShadow»

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.