useHydrated
import { useEffect, useState } from 'react';
import type { ReactNode, PropsWithChildren } from "react";
let hydrating = true;
function useHydrated() {
const [hydrated, setHydrated] = useState(() => !hydrating);
useEffect(() => {
hydrating = false;
setHydrated(true);
}, []);
return hydrated;
}
function ClientOnly({
children,
fallback = null,
}: PropsWithChildren<{ fallback?: ReactNode }>) {
return useHydrated() ? <>{children}</> : <>{fallback}</>;
}참고 자료
Last updated