跳至主要内容

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}</div>;
};

結果
數據:0

API

useAsyncEffect

Returns

void

Arguments

參數名描述類型預設值
effect支持promise的副作用函数() => T | Promise<T> (必填)-
cleanup清理函数(() => T | Promise<T>) | undefined() => {}
deps依赖列表React.DependencyList | undefined-
ads via Carbon