Выбор ответа Middle Нативные модули обновлено
Нативный UI-компонент
Вопрос
Нужно встроить нативный компонент карты с пропсами region и событием onRegionChange. Как это делается в новой архитектуре?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Fabric-компонент со спецификацией пропсов и Codegen или View в Expo Modules API. Нативные компоненты описываются спецификацией (codegenNativeComponent<Props), где пропсы и события типизированы, а Codegen генерирует склейку для Fabric.
Варианты ответа
- Fabric-компонент со спецификацией пропсов и Codegen или
Viewв Expo Modules APIправильный ответ - Через TurboModule с методом
render(), возвращающим готовую картинку карты - Через WebView, в котором открывается карта из браузерной версии
- Никак: свои нативные UI-компоненты в новой архитектуре не поддерживаются
Разбор
Нативные компоненты описываются спецификацией (codegenNativeComponent<Props>), где пропсы и события типизированы, а Codegen генерирует склейку для Fabric. В Expo Modules API для этого есть блок View. TurboModule предназначен для функций, а не для UI. WebView даст другой продукт и производительность. Нативные компоненты поддерживаются полностью.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.