react spring带有一个animated
函数,该功能允许本身修改组件而无需重新渲染组件。我发现动画组件具有几种类似于React Native的动画组件的方法。两者之间是否有任何连接,或者像.interpolate()
这样的概念对于动画库非常常见?
库最初是动画的叉子,在内部仍然具有很多相似之处。克里斯托弗·切多(Christopher Chedeau)的动画作品献给了网络:https://github.com/animatedjs/animated可悲的是,它不再维护了。
它的工作方式是,组件通过CreateAnimatedComponent(以"动画"的方式暴露为"动画"):https://github.com/react-spring/react-spring/react-spring/blob/master/master/src/src/src/animated/createAnimated/CreateAnimateAnimateAniMatedComponent。tsx
这个高阶组件拦截了样式和属性(不是原始的值,而是自更新的类)。它称" applyAnimatedValues"写信给目标外部反应。每个目标(DOM,本机,Konva,三个等)必须填写。例如,这是DOM应用以下道具的方式:https://github.com/reaect-spring/react-spring/blob/master/src/src/targets/web/globals.ts#l82-l82-l127
希望有帮助!