javascript - Hur man får värdet av AnimatedInterpolation
Min fråga är hur man hämtar värdet av en AnimatedInterpolation i react-native, utan att kalla på privat kod.
Jag skapar det animerade värdet och omsluter det i en interpolation så här:
animated = new Animated.Value();
interpolated = this.animated.interpolate({
inputRange:[0, 1000],
outputRange:[0, 500]
})
Jag renderar animationen så här:
<Animated.View style={[{width: this.interpolated}]}/>
Och jag hämtar det animerade värdet så här:
this.animated.stopAnimation(v => {
console.log(v, " ", this.interpolated.__getValue());
})
Körbart exempel här.
Mitt problem är att __getValue() är en privat medlem av AnimatedInterpolation och det ger ett fel när man använder TypeScript. Jag letar efter ett korrekt sätt att hämta värdet, på samma sätt som this.animated.stopAnimation är mer korrekt än this.animated.__getValue().
Svar #1
Du kan lägga till en lyssnare på interpolated för att få värdet -
interpolated.addListener(({value}) => {
console.log('interpolated', value)
});
Du kan sedan använda det med variabler eller något annat.
