在react native中,使用es6语法怎么清除定时器?

我想做一个类似倒计时的效果,当倒计时为0的时候,计时器停止,但是目前不知道怎么做,求大神解答,谢谢!新手求助!
目前有如下代码:

const totalCount = 10;

class Register extends Component {

    ...

     // 构造

    constructor(props) {

        super(props);

        // 初始状态

        this.state = {

            count: totalCount

        };

        this.componentWillUnMount = this.componentWillUnMount.bind(this);

    }


    componentWillUnMount() {

        clearInterval(this.timer);//FIXME:无法实现卸载时清除计时器

    }

    

    count() {

        this.timer = setInterval(()=>this.setState({

                count: this.state.count - 1

            }

        ), 1000);

        if (this.state.count == 0) {

            //clearTimeout(this.timer)//FIXME:确定程序可以走到这里,但是无法实现清除计时器

            clearInterval(this.timer);

        }

    }

    

    render() {

        return(

             ...

             <TouchableOpacity onPress={this.count.bind(this)} disabled={!(this.state.count == totalCount || this.state.count == 0)}>

                            ...

             </TouchableOpacity>

        )

    }

}


慕妹3146593
浏览 1308回答 1
1回答

慕村225694

现在问题已解决:1、componentWillUnMount() ---> componentWillUnmount()ps:Unmount的m为小写!2、和楼上回答一致:count()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.timer&nbsp;=&nbsp;setInterval(()=>&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.setState({ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count:&nbsp;this.state.count&nbsp;-&nbsp;1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(this.state.count&nbsp;==&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clearInterval(this.timer); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;1000); &nbsp;&nbsp;&nbsp;&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript