反应弹簧是如何呈现原生的?

问题描述 投票:0回答:1

react spring附带一个animated函数,允许组件本地修改,而无需重新渲染组件。我发现动画组件有两种类似于react native's animated components的方法。两者之间是否存在任何联系,或者像.interpolate()这样的概念在动画库中非常常见?

reactjs react-native react-spring
1个回答
1
投票

该库最初是Animated的一个分支,在内部仍然具有很多相似之处。 Christopher Chedeau的Animated有一个专门用于网络的回购:https://github.com/animatedjs/animated可悲的是它不再维护了。

它的工作方式是组件通过createAnimatedComponent(公开为“动画”)来包装:https://github.com/react-spring/react-spring/blob/master/src/animated/createAnimatedComponent.tsx

这个更高阶的组件拦截样式和属性(它们不是原始值而是自我更新类)。它调用“applyAnimatedValues”来写入React外部的目标。每个目标(dom,native,konva,three等)都必须填写它。例如,dom如何应用这些道具:https://github.com/react-spring/react-spring/blob/master/src/targets/web/globals.ts#L82-L127

希望有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.