import React, { useState, useEffect } from 'react';
export default function User(){
const [date, setDate] = useState(new Date());
useEffect(() => {
const timeId = setInterval(() => {
setDate(new Date());
}, 1000);
return () => clearInterval(timeId);
})
retrun <div>{date.toLocaleTimeString()}</div>
}
注意:useEffect给函数组件增加了执行副作用操作的能力
优化:
1、设置依赖
// 设置空数组意为没有依赖,则副作⽤用操作仅执⾏一次
useEffect(()=>{...}, [])
useEffect()=>{...}, [fruit])
2、清除工作:
useEffect 后面的返回可以清除一些定时器之类的需求清除的东西。