我如何从 React Native 中的动画或插值中获取值?

How can I get the value from an animated or interpolated value in React Native?

简短的回答是:addListener。 每个动画变量都可以访问 addListener() 方法。正确的? 我们不应该从 __getValue().

访问它

我正在努力从这个 const 中获取内插值(数字):

const interpolatedvalue = this.state.myanimvalue.interpolate({...})

我想从这个 interpolatedvalue 中获取数值。我试图使用 __getValue(),但我意识到我不应该那样做。

请查看我下面的回答,如果您需要帮助,请发表评论。

已更新

获取动画值的正确方法是使用侦听器。

https://reactnative.dev/docs/0.5/animatedvalue#addlistener

因为官方文档说:

addListener(...) Adds an asynchronous listener to the value so you can observe updates from animations. This is useful because there is no way to synchronously read the value because it might be driven natively.

如果动画是由native层驱动的,我们是无法真正同步获取的。所以我们总是使用 addListener(value => {/*our logic to use value*/}).

您可以简单地访问值 console.log(interpolatedValueY.__getValue())