美文网首页
react-native 倒计时

react-native 倒计时

作者: 小情兽丶 | 来源:发表于2018-05-21 23:43 被阅读0次

    简单的倒计时功能

      componentDidMount() {
        //声明一个定时器
        this.timer = setInterval(
          () => {
            this._timeShow();
          },
          1000,
        );
    
      }
    
    _timeShow = () => {
        const {history} = this.props;
         // this.state.timeTotal 是需要倒计时的总数,单位是 秒
        let timeDown = this.state.timeTotal;
        //初始化分钟和秒,因为没有涉及到小时,所以没有做
        let minute = 0;
        // 初始化秒
        let second = 0;
        //总数-1
        timeDown = timeDown - 1;
        //如果总数到0,则关闭定时器
        if (timeDown == 0) {
          this.setState({
            timeSecond: 0
          });
          //关闭定时器
          clearTimeout(this.timer);
        } else {
          //如果总数大于60,需要进行计算
          if (timeDown > 60) {
              //计算分钟 
            minute = Math.floor(timeDown / 60);
            //  Math.floor 返回的是一个整数
            second = timeDown - minute * 60;
            //如果秒为0,则代表整除了,那么分钟要减1,秒数设置为59
            if (second == 0) {
              second = 59
              minute = minute - 1;
            }
          } else {
            //如果总数小于60,直接给秒赋值,不需要进行计算 .
            second = timeDown;
          }
          //修改state,渲染页面
          this.setState({
            timeTotal: timeDown,
            timeMinute: minute,
            timeSecond: second
          });
        }
      }
    

    如果数字小于10,进行补0.

      <div style={styles.moduleItemText}>剩余支付时间:
          00:{timeMinute > 9 ? timeMinute : "0" + timeMinute}: {timeSecond > 9 ? timeSecond : "0" + timeSecond}</div>
                    </div>
    

    相关文章

      网友评论

          本文标题:react-native 倒计时

          本文链接:https://www.haomeiwen.com/subject/isscjftx.html