Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在react native上执行动画时出错_Javascript_React Native - Fatal编程技术网

Javascript 在react native上执行动画时出错

Javascript 在react native上执行动画时出错,javascript,react-native,Javascript,React Native,我在尝试在react native上制作动画时遇到问题 它抛出一个错误,说我不能分配x值。有人知道会是什么吗 undefined不是对象(正在计算“\u this.state.animateXY.xinterpolate”) import{ 看法 文本, 样式表, 有生气的 形象,, 缓和,, 触控高光, 尺寸, }从“反应本机”; const{width,height}=Dimensions.get('window'); 类AddPost扩展组件{ 构造函数(){ 超级() 这个州={ 动画:

我在尝试在react native上制作动画时遇到问题 它抛出一个错误,说我不能分配x值。有人知道会是什么吗

undefined不是对象(正在计算“\u this.state.animateXY.xinterpolate”)

import{
看法
文本,
样式表,
有生气的
形象,,
缓和,,
触控高光,
尺寸,
}从“反应本机”;
const{width,height}=Dimensions.get('window');
类AddPost扩展组件{
构造函数(){
超级()
这个州={
动画:新的动画。值(30),
animateXY:new Animated.Value({x:0,y:0}),
//半径:新动画。值(0)
}
this.animateInterpolate=this.state.animateXY.x.interpolate({
输入范围:[0150],
输出范围:[1,2]
})
}
组件willmount(){
动画序列([
动画。计时(this.state.animateXY{
toValue:{x:height/2,y:0},
持续时间:2000年
}),
动画。计时(this.state.animate{
toValue:60,
持续时间:2000年
}),
/*动画。计时(this.state.animate{
toValue:40,
持续时间:2000年
}),*/           
]).start()
}
render(){
返回(
);
}
}

此.state.animateX
只是没有声明

您需要将animatedXY设置为0:
animateX:new Animated.Value(0)

然后设置动画:

Animated.timing(this.state.animateX, {
    toValue: height/2,
    duration:2000
}),
然后可以设置X的值:

top: this.state.animateX

使用动画。ValueXY代替动画.Value

 animateX : new Animated.ValueXY({x: 0, y: 0});

我不认为这能解决问题。我试过了,但是当我插值x时,它抛出了一个错误。在这个.state.animateXY.x.interpolateIt中,这是因为您不能执行
新建Animated.Value({x:0,y:0})
<代码>animatedXY.x不存在。您需要设置
新动画。值(0)
然后插值该值以获得X和Y
 animateX : new Animated.ValueXY({x: 0, y: 0});