10 lines
316 B
TypeScript
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);
|
|
} |