diff --git a/packages/react-async/src/useAsync.tsx b/packages/react-async/src/useAsync.tsx
index 291e3709..4594798a 100644
--- a/packages/react-async/src/useAsync.tsx
+++ b/packages/react-async/src/useAsync.tsx
@@ -209,8 +209,11 @@ function useAsync<T>(arg1: AsyncOptions<T> | PromiseFn<T>, arg2?: AsyncOptions<T
     if (promise || promiseFn) load()
   }, [promise, promiseFn, watch])
   useEffect(
-    () => () => {
-      isMounted.current = false
+    () => {
+      isMounted.current = true
+      return () => {
+        isMounted.current = false
+      }
     },
     []
   )