zoukankan      html  css  js  c++  java
  • react 循环产生定时器

    var maxShowSeconds=3600000
                _self.state.totalSeconds.forEach((item,index)=>{
                    var timer='timer'+index
                    _self.state.timer.push(timer)
                    _self.setState({
                        timer:_self.state.timer
                    })
                   
                })
                _self.state.totalSeconds.forEach((item,index)=>{
                    _self.state.timer[index] = setInterval(() => {
                        var newSeconds=_self.state.totalSeconds.slice()
                        var showTotalSeconds=_self.state.showTotalSeconds.slice()
                        newSeconds[index]=newSeconds[index]-1
                        if(newSeconds[index]>=maxShowSeconds){
                            showTotalSeconds[index]=maxShowSeconds-1
                        }else{
                            showTotalSeconds[index]=showTotalSeconds[index]-1
                        }
                        _self.setState({
                            totalSeconds:newSeconds,
                            showTotalSeconds:showTotalSeconds,
                        }, () => {
                            if (_self.state.totalSeconds[index] == 0) {
                                clearInterval(_self.timer);
                            }
                        });
                    }, 1000)
                })
    View Code

    组件解绑之后清除定时器
    componentWillUnmount(){
            var _self=this;
            _self.state.timer.forEach((item,index)=>{
                clearInterval(_self.state.timer[index])
            })
        }
    View Code

      

  • 相关阅读:
    Html中列表显示
    Html中图片参数
    Html如何加入图片或超链接
    html常用标签
    mysql 几个坑
    现有.NET 开源框架浅析
    winform 界面加载慢原因分析
    FineUI 框架,RIA 富客户端应用的选择
    Hadoop Default Port
    docker issue
  • 原文地址:https://www.cnblogs.com/xiaoyaoweb/p/9339985.html
Copyright © 2011-2022 走看看