Short answer is: with addListener
.
Every animated variable has addListener() method accessible. Right?
We should NOT access it from __getValue()
.
I was struggling to get the interpolated value (number) out of this const:
const interpolatedvalue = this.state.myanimvalue.interpolate({...})
I wanted to get the numeric value out of this interpolatedvalue
. I was trying to use __getValue(), but I realized I should not do that.
The right way of getting the value for an animated value is with a listener.
https://reactnative.dev/docs/0.5/animatedvalue#addlistener
Because the official docs say:
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.
If the animation is driven by the native layer, we can not really get it synchronously. So let's always use addListener(value => {/*our logic to use value*/})
.