美文网首页
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