Выбор ответа Middle Нативные модули обновлено

Нативный UI-компонент

Вопрос

Нужно встроить нативный компонент карты с пропсами region и событием onRegionChange. Как это делается в новой архитектуре?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: Fabric-компонент со спецификацией пропсов и Codegen или View в Expo Modules API. Нативные компоненты описываются спецификацией (codegenNativeComponent<Props), где пропсы и события типизированы, а Codegen генерирует склейку для Fabric.

Варианты ответа

  1. Fabric-компонент со спецификацией пропсов и Codegen или View в Expo Modules APIправильный ответ
  2. Через TurboModule с методом render(), возвращающим готовую картинку карты
  3. Через WebView, в котором открывается карта из браузерной версии
  4. Никак: свои нативные UI-компоненты в новой архитектуре не поддерживаются

Разбор

Нативные компоненты описываются спецификацией (codegenNativeComponent<Props>), где пропсы и события типизированы, а Codegen генерирует склейку для Fabric. В Expo Modules API для этого есть блок View. TurboModule предназначен для функций, а не для UI. WebView даст другой продукт и производительность. Нативные компоненты поддерживаются полностью.

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

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