function UserProfile({ userId }) { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // Fonction async dans useEffect const fetchUser = async () => { setLoading(true); setError(null); try { const response = await fetch(`/api/users/${userId}`); const data = await response.json(); setUser(data); } catch (err) { setError(err.message); } finally { setLoading(false); } }; fetchUser(); }, [userId]); // Re-fetch quand userId change if (loading) return

Chargement...

; if (error) return

Erreur : {error}

; if (!user) return null; return
{user.name}
; }