gpt4 book ai didi

javascript - React Native - 如何舍入动画组件的值?

转载 作者:行者123 更新时间:2023-12-03 00:25:46 26 4
gpt4 key购买 nike

我想使用Animated API创建文本动画,但是animated的值有小数,我想对该值进行四舍五入,可以吗?

我尝试使用 Math.round() 但输出为 NaN

代码如下:

const AnimatedText = Animated.createAnimatedComponent(CustomText);


export default class App extends Component {
constructor(props) {
super(props);
this.visited = new Animated.Value(0)
}

componentWillMount(){
Animated.timing(this.visited,{
toValue: 1,
duration:1000,
}).start();
}

render(){
const visiting = this.visited.interpolate({
inputRange: [0, 1],
outputRange: [0, 20],
});
return(
<AnimatedText style={{fontSize:40, color:'white', fontWeight:'900'}}>{visiting}</AnimatedText>
)
}
}

最佳答案

这是因为 new Animated.Value 创建了一个自定义的 React Native 对象。如果你想获取该值,你可以停止动画并获取当前值:

this.state.visited.stopAnimation(value => console.log(Math.round(value.value)))

或者向其添加一个监听器,并在动画运行时始终获取最新值:

componentWillMount(){
this.state.visited.addListener(value => console.log(Math.round(value.value)))
Animated.timing(this.visited,{
toValue: 1,
duration:1000,
}).start();
}

https://facebook.github.io/react-native/docs/animations.html#responding-to-the-current-animation-value

关于javascript - React Native - 如何舍入动画组件的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54102778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com