-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
useDocumentVisibility throws error when render in server #854
Comments
import { useState } from 'react';
import useEventListener from '../useEventListener';
type VisibilityState = 'hidden' | 'visible' | 'prerender' | undefined;
const getVisibility = () => {
if (typeof document === 'undefined') return;
return document.visibilityState;
};
function useDocumentVisibility(): VisibilityState {
const [documentVisibility, setDocumentVisibility] = useState(() => getVisibility());
useEventListener(
'visibilitychange',
() => {
setDocumentVisibility(getVisibility());
},
{
target: document,
},
);
return documentVisibility;
}
export default useDocumentVisibility; 感觉是服务端渲染 ssr 下没有找到 document 对象啊。 |
似乎应该在最上面加个 或者把 document 替换成 |
import { useState } from 'react';
import useEventListener from '../useEventListener';
type VisibilityState = 'hidden' | 'visible' | 'prerender' | undefined;
const getVisibility = () => {
- if (typeof document === 'undefined') return;
+ if (typeof document === 'undefined') return true;
+ // Default document visibility to true for SSR
return document.visibilityState;
};
function useDocumentVisibility(): VisibilityState {
const [documentVisibility, setDocumentVisibility] = useState(() => getVisibility());
useEventListener(
'visibilitychange',
() => {
setDocumentVisibility(getVisibility());
},
{
target: document,
},
);
return documentVisibility;
}
export default useDocumentVisibility; 在采用服务端渲染 SSR 的情况下,貌似只能默认返回 true 了,或者拓展一下 Options
如果可以,我来 PR 一下吧?@brickspert @afc163 |
We have fixed this problem in #935,and we will fully support ssr in v3.0. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
see ant-design/ant-design#29160
https://dev.azure.com/ant-design/ant-design/_build/results?buildId=13262&view=logs&j=a2b3994b-89d0-550c-2130-d92890401028&t=b04045b3-20f4-593c-3009-87be7f4e3abb
The text was updated successfully, but these errors were encountered: