@mittwald/react-use-promise
Version:
Simple and declarative use of Promises in your React components. Observe their state and refresh them in various advanced ways.
13 lines (12 loc) • 430 B
JavaScript
import { useEffect } from "react";
import { isBrowser } from "browser-or-node";
export const useOnVisibilityChange = (cb, deps) => {
useEffect(() => {
if (isBrowser) {
document.addEventListener("visibilitychange", () => cb(!document.hidden));
return () => {
document.removeEventListener("visibilitychange", () => cb(!document.hidden));
};
}
}, deps);
};