跳到主要内容

useAsyncEffect

支持 Promise 的 React useEffect。

Usage

实时编辑器

function 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>;
};

结果
Loading...

API

useAsyncEffect

Returns

void

Arguments

参数名描述类型默认值
effect支持promise的副作用函数() => T | Promise<T> (必填)-
cleanup清理函数(() => T | Promise<T>) | undefined() => {}
deps依赖列表React.DependencyList | undefined-