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);

 

posted @ 2022-07-20 17:07  不知码  阅读(171)  评论(0)    收藏  举报