Fix race condition in `usePageVisibility` hook
This commit is contained in:
parent
27573e6dce
commit
1f4a3851bf
|
@ -7,16 +7,18 @@ export function usePageVisibility(): boolean {
|
||||||
const [result, setResult] = useState(!document.hidden);
|
const [result, setResult] = useState(!document.hidden);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const onVisibilityChange = () => {
|
const updatePageVisibility = () => {
|
||||||
setResult(!document.hidden);
|
setResult(!document.hidden);
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('visibilitychange', onVisibilityChange, false);
|
updatePageVisibility();
|
||||||
|
|
||||||
|
document.addEventListener('visibilitychange', updatePageVisibility, false);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
document.removeEventListener(
|
document.removeEventListener(
|
||||||
'visibilitychange',
|
'visibilitychange',
|
||||||
onVisibilityChange,
|
updatePageVisibility,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue