UseIsomorphicLayoutEffectDemo
guarahooks/use-isomorphic-layout-effect-demoFreeExample
use-isomorphic-layout-effect's hook in action.
Install it
npx shadcn@latest add https://guarahooks.com/r/use-isomorphic-layout-effect-demo.jsonSource
1'use client';23import React, { useRef, useState } from 'react';45import { Button } from '@/components/ui/button';6import {7 Card,8 CardContent,9 CardDescription,10 CardFooter,11 CardHeader,12 CardTitle,13} from '@/components/ui/card';1415import { useIsomorphicLayoutEffect } from '@/hooks/guarahooks/use-isomorphic-layout-effect';1617export default function UseIsomorphicLayoutEffectDemo() {18 const boxRef = useRef<HTMLDivElement | null>(null);19 const [boxWidth, setBoxWidth] = useState(0);2021 useIsomorphicLayoutEffect(() => {22 if (boxRef.current) {23 setBoxWidth(Math.round(boxRef.current.getBoundingClientRect().width));24 }25 }, []);2627 return (28 <Card className="relative max-w-sm w-full">29 <CardHeader>30 <CardTitle>useIsomorphicLayoutEffect</CardTitle>31 <CardDescription>32 This component measures its own width using an isomorphic layout33 effect (no SSR warning).34 </CardDescription>35 </CardHeader>36 <CardContent>37 <div ref={boxRef} className="border border-border rounded-md p-4">38 <p>Resize or hydrate to measure this box.</p>39 </div>40 <p className="mt-2">Box width: {boxWidth}px</p>41 </CardContent>42 <CardFooter>43 <Button onClick={() => setBoxWidth(0)}>Reset</Button>44 </CardFooter>45 </Card>46 );47}
What it pulls in
Other registry items
Files it writes
More from guarahooks
All 100 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| UseAbortControllerDemouse-abort-controller-demo | guarahooks | Examples | Free | no deps | |
| UseArrayStateDemouse-array-state-demo | guarahooks | Examples | Free | no deps | |
| UseAxiosDemouse-axios-demo | guarahooks | Examples | Free | no deps | |
| UseBatteryStatusDemouse-battery-status-demo | guarahooks | Examples | Free | no deps | |
| UseBetterAuthDemouse-better-auth-demo | guarahooks | Examples | Free | no deps | |
| UseClickOutsideDemouse-click-outside-demo | guarahooks | Examples | Free | no deps | |
| UseConfirmDemouse-confirm-demo | guarahooks | Examples | Free | no deps | |
| UseCookieDemouse-cookie-demo | guarahooks | Examples | Free | no deps |
