useAsyncEffect(resolve => happy(), [])
npm install use-async-effekt``tsx
import { useAsyncEffect, isMounted, unwrap } from "use-async-effekt";
const App = () => {
const [user, setUser] = useState
useAsyncEffect(async resolve => {
const user = await resolve(loadUser());
if (isMounted(user)) {
setUser(unwrap(user));
}
}, []);
if (user === null) {
return <>LOADING>;
}
return <>{user.displayName}>;
};
`
`cmdnpm
npm i use-async-effekt