Isomorphic Layout Effect

Isomorphic Layout Effect

A hook that uses useLayoutEffect on the client and useEffect on the server.

Code

snippets/react/use-isomorphic-layout-effect.ts
import { useEffect, useLayoutEffect } from "react";


export const useIsomorphicLayoutEffect =
  typeof window === "undefined" ? useEffect : useLayoutEffect;

Examples

snippets/react/use-isomorphic-layout-effect.example.tsx
import { useIsomorphicLayoutEffect } from "./use-isomorphic-layout-effect";


const Page = () => {
  useIsomorphicLayoutEffect(() => {});


  return <main />;
};


export default Page;

Tests

snippets/react/use-isomorphic-layout-effect.test.ts
import { describe } from "bun:test";


describe.todo("useIsomorphicLayoutEffect", () => {});

Sources