@wrksz/themesv0.9.2
API Reference

useThemeEffect

Side-effect hook that reacts to theme changes.

Edit on GitHub

Last updated on

useThemeEffect works like useEffect, but for theme transitions.

Since v0.9.0
  • Skips the very first render.
  • Runs when theme or resolvedTheme changes.
  • Supports cleanup functions.
  • Supports dependency arrays for caller-specific values.
"use client";
import { useThemeEffect } from "@wrksz/themes/client";

export function ThemeAnalytics() {
  useThemeEffect((theme, resolvedTheme) => {
    trackThemeChange(theme, resolvedTheme);
    return () => cancelPendingRequests();
  }, []);

  return null;
}

Parameters

ParameterTypeDescription
effect(theme, resolvedTheme) => void | (() => void)Callback run after mount on theme changes
depsDependencyListOptional dependency list, same semantics as useEffect

theme may be "system", while resolvedTheme is the concrete applied value.

On this page