Выбор ответа Junior Анимации и жесты обновлено

Animated: анимация ширины

Вопрос

Что произойдёт при Animated.timing(width, { toValue: 200, useNativeDriver: true }), где width используется в стиле width?

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

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

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

Коротко

Правильный ответ: Ошибка: стиль width не поддерживается native driver. Native driver не умеет свойства раскладки, и RN сообщает об ошибке («Style property 'width' is not supported by native animated module»).

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

  1. Ширина плавно изменится, и все кадры посчитаются на UI-потоке
  2. Анимация молча переключится на JS-поток и выполнится как обычно
  3. Ошибка: стиль width не поддерживается native driverправильный ответ
  4. Ширина изменится мгновенно, без промежуточных кадров анимации

Разбор

Native driver не умеет свойства раскладки, и RN сообщает об ошибке («Style property 'width' is not supported by native animated module»). Варианты: анимировать transform: [{ scaleX }], отключить native driver (тогда кадры на JS) или использовать Reanimated, где анимация раскладки считается на UI-потоке.

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

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