17 lines
394 B
TypeScript
17 lines
394 B
TypeScript
|
import { useEffect, useState } from 'react';
|
||
|
|
||
|
/**
|
||
|
* 检测组件是否在客户端已挂载的 hook
|
||
|
* 用于避免服务器端渲染和客户端渲染不一致导致的水合错误
|
||
|
*/
|
||
|
export function useClientMount(): boolean {
|
||
|
const [isMounted, setIsMounted] = useState(false);
|
||
|
|
||
|
useEffect(() => {
|
||
|
setIsMounted(true);
|
||
|
}, []);
|
||
|
|
||
|
return isMounted;
|
||
|
}
|
||
|
|
||
|
export default useClientMount;
|