未定义的 React 原生动画不是对象错误



我正在尝试将视图动画化以在按下按钮时向右滑动,我目前有以下代码,但不断得到

undefined 不是对象(评估此.state.panelPos(错误。我不明白代码有什么问题。有什么建议吗?

constructor(props){
super(props)
this.state = {
initialLife : 200,
panelPos: new Animated.Value(0),
};
};

slideOutPanel(){
Animated.timing( this.state.panelPos,{
toValue: 300,
duration: 1000,
}).start();
};
render(){return(
<View style = {styles.container}>
<View style = {styles.lContainer}>
<View style = {styles.playerLife}>
<View style = {styles.lifeButtonRow}>
<LifeButton/>
<LifeButton/>
</View>
<View style = {styles.lifeButtonRow}>
<LifeButton/>
<LifeButton/>
</View>     
<Text>text</Text>
</View>
<Animated.View style = {[styles.panel,{transform: [{translateX: this.state.panelPos}]}]}>
<Image style = {styles.cmd_panel} source={require('image')}/>
</Animated.View>
</View>
<View style = {styles.portrait}>
<Button title = {'push'} onPress = {this.slideOutPanel}/>
</View>
</View>);

否则一切似乎都是正确的,但上下文未正确设置在:onPress={this.slideOutPanel}.

任选其一:onPress={() => this.slideOutPanel()}

或:onPress={this.slideOutPanel.bind(this)}

最新更新