В response spring есть функция animated
, которая позволяет изменять компоненты в исходном виде без необходимости повторного рендеринга компонента. Я обнаружил, что у анимированных компонентов есть несколько методов, которые похожи на реакцию на анимированные компоненты нативного кода а>. Есть ли какая-то связь между ними, или такие концепции, как .interpolate()
, очень распространены для анимационных библиотек?
Как реагирует на рендеринг Spring изначально?
Ответы (1)
Изначально библиотека была ответвлением Animated и до сих пор имеет большое внутреннее сходство. У Animated Кристофера Чедо есть репо, посвященное Интернету: https://github.com/animatedjs/animated К сожалению, он больше не поддерживается.
Это работает так: компоненты обертываются через createAnimatedComponent (который отображается как «анимированный»): https://github.com/react-spring/react-spring/blob/master/src/animated/createAnimatedComponent.tsx
Этот компонент более высокого порядка перехватывает стили и атрибуты (которые не являются исходными значениями, а самообновляющимися классами). Он вызывает applyAnimatedValues для записи в цель вне React. Каждая цель (дом, родная, конва, тройка и т. Д.) Должна ее заполнить. Например, вот как dom применяет эти реквизиты: https://github.com/react-spring/react-spring/blob/master/src/targets/web/globals.ts#L82-L127
Надеюсь, это поможет!