Skip to content

useInterval #14

@arcsin1

Description

@arcsin1

import { useRef, useEffect } from 'react';

export default function useInterval(callback: Function, delay: number | null) {
const savedCallback = useRef(null);

useEffect(() => {
savedCallback.current = callback;
}, [callback]);

useEffect(() => {
function tick() {
savedCallback.current();
}
if (delay !== null) {
const id = setInterval(tick, delay);
return () => clearInterval(id);
}
}, [delay]);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions