import Cookie from "js-cookie"; import { useCallback, useEffect, useRef, useState } from "react"; const useCookieValue = (name) => { const cookieUpdaterId = useRef(); const [currentCookie, setCurrentCookie] = useState(() => Cookie.get(name)); const updateCookie = useCallback(() => { const cookie = Cookie.get(name); if (cookie !== currentCookie) { setCurrentCookie(cookie); } }, [currentCookie, name]); useEffect(() => { cookieUpdaterId.current = setInterval(updateCookie, 1000); return () => clearInterval(cookieUpdaterId.current); }, [updateCookie]); return currentCookie; }; export default useCookieValue;