diff --git a/dist/cjs/createComponent.native.js b/dist/cjs/createComponent.native.js
index 86d3da13fa485e62f44137ea449320db7ec7e877..6d5ae6499ebe4fa476e9ff7b90c260945bc367c2 100644
--- a/dist/cjs/createComponent.native.js
+++ b/dist/cjs/createComponent.native.js
@@ -97,7 +97,7 @@ function createComponent(staticConfig) {
     defaultProps,
     defaultPropsKeyOrder: defaultProps ? Object.keys(defaultProps) : []
   });
-  var component = /* @__PURE__ */ import_react.default.forwardRef(function(propsIn, forwardedRef) {
+  var OldComponent = /* @__PURE__ */ import_react.default.forwardRef(function(propsIn, forwardedRef) {
     var _hooks_usePropsTransform, _hooks_useEvents, _config_animations, internalID = process.env.NODE_ENV === "development" ? import_react.default.useId() : "";
     if (process.env.NODE_ENV === "development" && startVisualizer && (startVisualizer(), startVisualizer = void 0), !hasSetupBaseViews) {
       var _hooks_getBaseViews;
@@ -300,8 +300,9 @@ If you meant to do this, you can disable this warning - either change untilMeasu
         var cssStyleDeclarationToObject = cssStyleDeclarationToObject2, computed = cssStyleDeclarationToObject2(getComputedStyle(stateRef.current.host));
         (0, import_consoleLog.groupCollapsed)(`Rendered > (opacity: ${computed.opacity})`), console.warn(stateRef.current.host), console.warn(computed), (0, import_consoleLog.groupEnd)();
       }
-    }), (0, import_constants.useIsomorphicLayoutEffect)(function() {
+    }), (0, import_react.default.useEffect)(function() {
       if (!disabled) {
+        let tm;
         if (state.unmounted === !0 && hasEnterStyle) {
           setStateShallow({
             unmounted: "should-enter"
@@ -309,19 +310,21 @@ If you meant to do this, you can disable this warning - either change untilMeasu
           return;
         }
         if (state.unmounted) {
-          setStateShallow({
-            unmounted: !1
+          tm = setTimeout(() => {
+            setStateShallow({ unmounted: false });
           });
-          return;
+          return () => clearTimeout(tm);
         }
-        var dispose = pseudoGroups || mediaGroups ? (0, import_subscribeToContextGroup.subscribeToContextGroup)({
+        var dispose = (0, import_subscribeToContextGroup.subscribeToContextGroup)({
+          disabled,
           componentContext,
           setStateShallow,
           state,
           mediaGroups,
-          pseudoGroups
-        }) : null;
+          pseudoGroups,
+        });
         return function() {
+          clearTimeout(tm);
           dispose == null || dispose(), componentSetStates.delete(setState);
         };
       }
@@ -558,6 +561,13 @@ If you meant to do this, you can disable this warning - either change untilMeasu
       delete globalThis.willPrint, time.print(), time = null;
     }, 50))), content;
   });
+  // UNISWAP PATCH: Using key to avoid conditionally calling useAnimation hook
+  var component = /* @__PURE__ */ import_react.default.forwardRef(function(propsIn, forwardedRef) {
+    return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OldComponent, {
+      ref: forwardedRef,
+      ...propsIn,
+    }, "animation" in propsIn ? 1 : 0);
+  });
   staticConfig.componentName && (component.displayName = staticConfig.componentName);
   var res = component;
   (process.env.TAMAGUI_FORCE_MEMO || staticConfig.memo) && (res = /* @__PURE__ */ import_react.default.memo(res)), res.staticConfig = staticConfig;
