import { ReactNode, useEffect, useState } from "react"; export function Async({ loader, then }: { loader: () => Promise, then: (v: T) => ReactNode }) { const [res, setResult] = useState(); useEffect(() => { loader().then(setResult); }, []); if (!res) return; return then(res); }