Files
zap.stream/src/element/async-loader.tsx
2024-01-20 22:24:57 +00:00

10 lines
316 B
TypeScript

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