useAsyncEffect
React useEffect with async await support. Note it don't support generator function.
Usage
import { useAsyncEffect } from "@reactuses/core";
import { useState } from "react";
const Demo = () => {
const [data, setData] = useState(0);
useAsyncEffect(
async () => {
const result = await new Promise<number>((resolve) => {
setTimeout(() => {
resolve(200);
}, 5000);
});
setData(result);
},
() => {},
[]
);
return <div>data: {data}</div>;
};
Example
data: 0
Type Declarations
export default function useAsyncEffect<T extends void>(
effect: () => Promise<T> | T,
cleanup?: typeof effect,
deps?: DependencyList
): void