react-native 倒计时

简单的倒计时功能

  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>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设置个时间 indexTime:3 countTime(){this._timer=setInterval(()=...
    以德扶人阅读 1,162评论 0 48
  • 只留给特别笨的自己,也是特别笨的方法,省的以后还是不会,再慢慢改进吧╮(╯▽╰)╭ var codeTime =6...
    简翦儋箪阅读 605评论 0 0
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,539评论 0 5
  • 001 莫背后议论他人 “静坐当思己过,闲谈莫论人非”,有什么话当面说,而不是背后议论。也许当你喋喋不休评判他人的...
    CannaDeng阅读 148评论 1 2
  • 脑中突然晃过一个人,便敲了点字出来: 初三毕业,当我终于从武侠小说堆里拔出脑袋来,便一路叽叽喳喳和香说着今后的打算...
    西子春阅读 150评论 0 0