Как Animated.Component/createAnimatedComponent (Component) отличается от Component?

Мы пытаемся выяснить причину следующей проблемы из проекта стилизованных компонентов: https://github.com/styled-components/styled-components/issues/389

Были внесены некоторые изменения в refs + setNativeProps, которые разбивали анимацию в одном месте, предположительно потому, что некоторая анимированная связанная информация не передается правильно.

Следовательно, возникает вопрос, как createAnimatedComponent изменяет исходный компонент, что добавлено? Что может заставить анимацию сломаться, если ее не передать правильно?

Просьба представить идеи/подробный ответ, если вы знаете, что может вызвать эту проблему.

UPDATE Нарушение изменения, связанное с проблемой, произошло где-то в этом файле для справки innerRef, пропустит ref, isTag функция проверяет, является ли он родным компонентом.

Ответ 1

анимационные компоненты могут быть анимированы. View, Text и Image уже предоставлены, и вы можете создавать собственные с помощью createAnimatedComponent. Эти специальные компоненты делают магию привязки анимированных значений к свойствам и делают целевые собственные обновления, чтобы избежать затрат на реакцию рендеринга и процесс согласования на каждом фрейме. Они также обрабатывают очистку при отключении, поэтому по умолчанию они безопасны.

https://facebook.github.io/react-native/docs/animated.html