State Inspector
A component for displaying a state inspector
Default
Default state inspector
State Inspector
Timeline
State Details
0 updates tracked
Limit:
default-example.tsx
1"use client";23import { useState } from "react";4import { StateInspector } from "@/registry/ui";5import { useStateInspector } from "@/registry/ui/state-inspector/use-state-inspector";6import { Button } from "@/components/ui/button";78export function StateInspectorDefaultExample() {9 const { track, clear } = useStateInspector();10 const [counter, setCounter] = useState(0);11 const [user, setUser] = useState({ name: "Ada Lovelace", plan: "pro" });1213 const trackCounterIncrement = () => {14 const previous = { counter, user };15 const nextCounter = counter + 1;16 const next = { counter: nextCounter, user };17 setCounter(nextCounter);18 track("counter.increment", previous, next);19 };2021 const trackPlanToggle = () => {22 const previous = { counter, user };23 const nextUser = {24 ...user,25 plan: user.plan === "pro" ? "enterprise" : "pro",26 };27 const next = { counter, user: nextUser };28 setUser(nextUser);29 track("user.plan.toggle", previous, next);30 };3132 const trackUserRename = () => {33 const previous = { counter, user };34 const nextUser = {35 ...user,36 name: user.name === "Ada Lovelace" ? "Grace Hopper" : "Ada Lovelace",37 };38 const next = { counter, user: nextUser };39 setUser(nextUser);40 track("user.rename", previous, next);41 };4243 return (44 <div className="mx-auto w-full max-w-4xl">45 <div className="mb-4 flex flex-wrap items-center gap-2">46 <Button variant="outline" onClick={trackCounterIncrement}>47 Increment Counter48 </Button>49 <Button variant="outline" onClick={trackPlanToggle}>50 Toggle Plan51 </Button>52 <Button variant="outline" onClick={trackUserRename}>53 Rename User54 </Button>55 <Button variant="destructive" onClick={clear}>56 Clear57 </Button>58 </div>59 <StateInspector />60 </div>61 );62}
Installation & source
Install via the shadcn CLI or copy the registry files manually.
bash
npx shadcn@latest add @tt-ui/state-inspector
Props
| Name | Type | Default | Description |
|---|---|---|---|
| updates | StateUpdate[] | [] | The updates to display |