React 60s倒计时


 
constructor(props) {   super(props);   this.state = {     tel: 13407163853,     btnText: '获取验证码',     timer: 60,     discodeBtn: false,     clearInterval: false   } }
...
componentWillReceiveProps(nextProps) {   const { props } = this;   const { openBox } = nextProps;   // console.log('nextProps', nextProps);   // 获取验证码   if (props.openBox.sendBoxMobileCode !== openBox.sendBoxMobileCode) {     const { code, message } = openBox.sendBoxMobileCode;     if (code === '0') {       this.count();     } else {       Toast.info(message);     }   }
}
 
count = () => {
let siv = setInterval(() => {
    this.setState({ timer: (timer--), btnText: timer, discodeBtn: true }, () => {
        if (timer === 0) {
            clearInterval(siv);
            this.setState({ btnText: '重新发送', discodeBtn: false })
        }
    });
}, 1000);
}   ... render() {   
return (   
       
)}