Files
Melfe/src/hooks/useHydration.ts
Mamadou Sall 032b1d9452 move to gitea
2025-08-24 22:41:31 +02:00

29 lines
759 B
TypeScript

// src/hooks/useHydration.ts
'use client';
import { useEffect, useState } from 'react';
/**
* Hook pour gérer l'hydratation et éviter les erreurs de rendu SSR/Client
* Retourne true seulement après que le composant soit monté côté client
*/
export function useHydration() {
const [isHydrated, setIsHydrated] = useState(false);
useEffect(() => {
setIsHydrated(true);
}, []);
return isHydrated;
}
/**
* Hook pour un rendu conditionnel après hydratation
* @param fallback - Valeur à retourner avant l'hydratation
* @param value - Valeur à retourner après l'hydratation
*/
export function useClientOnly<T>(fallback: T, value: T): T {
const isHydrated = useHydration();
return isHydrated ? value : fallback;
}