1. 自定义hook
// 自定义hook,命名要以use开头
function useClock(){
const [date,setDate] = useState(new Date())
useEffect(()=>{
const timer = setInterval(()=>{
setDate(new Date())
},1000)
return ()=>clearInterval(timer)
},[])
}
使用的时候 useClock()
2.使用规则
(1)只能在函数最外层调用hook,不要在循环、条件判断或者子函数中调用
(2)只能在React的函数组件中调用hook,不要在其他JavaScript函数中调用,含有一个地方可以通用hook,就是自定义的hook中