useInterval
时间: 2024-10-12 17:01:34 浏览: 21
`useInterval`通常是一个React hooks函数,它允许你在组件中创建一个定时器,类似JavaScript中的setInterval。这个hook会接收两个参数:一个回调函数和一个时间间隔(通常是毫秒数),并在指定的时间间隔内周期性地执行回调。每次回调结束后,如果组件还在挂载状态,它会自动再次触发,直到调用`useCallback`提供的清理函数来手动停止。
例如:
```jsx
import { useState, useEffect, useRef } from 'react';
import { useInterval } from 'react-use';
function MyComponent() {
const [count, setCount] = useState(0);
const intervalRef = useRef(null);
const startCounting = () => {
useInterval(() => {
setCount(count + 1);
}, 1000); // 每隔1秒钟执行一次
};
return (
<div>
<button onClick={startCounting}>Start Counting</button>
<p>Count: {count}</p>
<button onClick={intervalRef.current && clearInterval(intervalRef.current)}>Stop Counting</button>
</div>
);
}
```
在这个例子中,点击“开始计数”按钮会启动定时器,每秒增加一次计数,而“停止计数”按钮则用于清理定时器,防止内存泄漏。
阅读全文