React Native Animation undefined不是对象错误

时间:2017-07-28 19:38:26

标签: reactjs animation react-native css-animations

我试图在按下按钮时动画视图向右滑动,我目前有以下代码但仍在继续

undefined不是对象(评估this.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>);

1 个答案:

答案 0 :(得分:1)

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

要么:onPress={() => this.slideOutPanel()}

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