- 在React中使用定时器: 主要是要注意返回清除定时器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20import React from "react"
import { memo, useState, useEffect } from "react"
const Timer = memo(() => {
const [count, setCount] = useState(0)
useEffect(() => {
const timer = setInterval(() => {
// setCount使用箭头函数只会有一个count产生
setCount(count => count + 1)
}, 1000)
return () => {
clearInterval(timer)
}
// 不设置依赖原因: 设置了会产生多个timer和销毁多次timer
}, [])
return (<div>{count}</div>)
})
export default Timer