Hook实现倒计时
1 import React, {useEffect, useState} from 'react'; 2 import { connect } from 'dva'; 3 import styles from './IndexPage.css'; 4 5 let timer; 6 function IndexPage() { 7 const [count, setCount] = useState(0) 8 useEffect(()=>{ 9 clearInterval(timer) 10 return ()=>{ 11 clearInterval(timer) 12 } 13 },[]) 14 useEffect(()=>{ 15 if ( count === 5){ 16 timer = setInterval(()=> setCount( t => --t),1000) 17 } else if( count === 0){ 18 clearInterval(timer) 19 } 20 },[count]) 21 const handclick = () => { 22 setCount(5) 23 }; 24 return ( 25 <div className={styles.normal}> 26 <div className={styles.buttons} onClick={handclick}> 27 {count}获取 28 </div> 29 </div> 30 ); 31 } 32 33 export default connect()(IndexPage);