我很新做出反应原生并得到一个错误,因为'null不是对象(评估'this.state.pan')'
,代码是:
getInitialState: function(){
return{
pan : new Animated.ValueXY(),
panResponder: PanResponder.create({
onStartShouldSetPanResponder: () => true,
onPanResponderMove: Animated.event([null,{
dx : this.state.pan.x,
dy : this.state.pan.y
}]),
onPanResponderRelease: (e,gesture)
})
}
}
有人能告诉我粗体文字有什么问题吗?
答案 0 :(得分:3)
您指的是' getInitialState方法中的this.state。但是,这个状态'只有在' getInitialState'之后才有值被称为。但是你可以这样做。
getInitialState: function(){
var panValue = new Animated.ValueXY();
return{
pan : panValue,
panResponder: PanResponder.create({
onStartShouldSetPanResponder: () => true,
onPanResponderMove: Animated.event([null,{
dx : panValue.x,
dy : panValue.y,
}]),
onPanResponderRelease: (e,gesture)
})
}
}