October 2026 - use-isomorphic-layout-effect Deprecated
Components now use the layout effect hooks Base UI and Radix already ship.
Dice UI components no longer copy hooks/use-isomorphic-layout-effect.ts into your project. They use the hook their primitives already ship:
- Base UI components use
useIsoLayoutEffectfrom@base-ui/utils. - Radix components use
useLayoutEffectfromradix-ui/internal.
Migrating
Existing components keep working, because your copy of the hook stays in place. To drop it, reinstall the components, or update the imports yourself:
import { useIsomorphicLayoutEffect } from "@/hooks/use-isomorphic-layout-effect";
import { useIsoLayoutEffect } from "@base-ui/utils/useIsoLayoutEffect"; import { useIsomorphicLayoutEffect } from "@/hooks/use-isomorphic-layout-effect";
import { useLayoutEffect } from "radix-ui/internal"; Then delete hooks/use-isomorphic-layout-effect.ts. @diceui/use-isomorphic-layout-effect still installs for now and will be removed in a future release.