AI agents: fetch the documentation index at llms.txt. Markdown versions are available by appending .md to any page URL, including this page's markdown.
useContainerWidth
Measure and track container width.
DndGrid and ResponsiveDndGrid measure container width automatically. Use
useContainerWidth when you need the width for custom constraints or to drive
DndGrid/useDndGrid directly.
Example
import { useState } from "react";
import { DndGrid, type Layout, useContainerWidth } from "@dnd-grid/react";
import "@dnd-grid/react/styles.css";
const initialLayout: Layout = [
{ id: "a", x: 0, y: 0, w: 3, h: 2 },
{ id: "b", x: 3, y: 0, w: 3, h: 2 },
];
export function MeasuredGrid() {
const [layout, setLayout] = useState(initialLayout);
const { width, containerRef, mounted } = useContainerWidth({
measureBeforeMount: true,
initialWidth: 800,
});
return (
<div ref={containerRef} style={{ width: "100%" }}>
{mounted && width > 0 && (
<DndGrid
layout={layout}
onLayoutChange={setLayout}
cols={12}
rowHeight={40}
width={width}
>
<div key="a">A</div>
<div key="b">B</div>
</DndGrid>
)}
</div>
);
}Options
| Option | Type | Default | Description |
|---|---|---|---|
measureBeforeMount | boolean | false | Delay rendering until the first measurement. Useful for SSR. |
initialWidth | number | 1280 | Width value used before measuring. |
Returns
| Value | Description |
|---|---|
width | Current container width. |
mounted | true after the initial measurement when measureBeforeMount is enabled. |
containerRef | Attach to the element you want to measure. |
measureWidth | Trigger a manual measurement. |
DndGrid already measures width for you. Reach for this hook when you need
the width value outside the grid.