MCPcopy Index your code
hub / github.com/TanStack/virtual / GridVirtualizerFixed

Function GridVirtualizerFixed

examples/react/fixed/src/main.tsx:145–213  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

143}
144
145function GridVirtualizerFixed() {
146 const parentRef = React.useRef(null)
147
148 const rowVirtualizer = useVirtualizer({
149 count: 10000,
150 getScrollElement: () => parentRef.current,
151 estimateSize: () => 35,
152 overscan: 5,
153 })
154
155 const columnVirtualizer = useVirtualizer({
156 horizontal: true,
157 count: 10000,
158 getScrollElement: () => parentRef.current,
159 estimateSize: () => 100,
160 overscan: 5,
161 })
162
163 return (
164 <>
165 <div
166 ref={parentRef}
167 className="List"
168 style={{
169 height: `500px`,
170 width: `500px`,
171 overflow: 'auto',
172 }}
173 >
174 <div
175 style={{
176 height: `${rowVirtualizer.getTotalSize()}px`,
177 width: `${columnVirtualizer.getTotalSize()}px`,
178 position: 'relative',
179 }}
180 >
181 {rowVirtualizer.getVirtualItems().map((virtualRow) => (
182 <React.Fragment key={virtualRow.key}>
183 {columnVirtualizer.getVirtualItems().map((virtualColumn) => (
184 <div
185 key={virtualColumn.key}
186 className={
187 virtualColumn.index % 2
188 ? virtualRow.index % 2 === 0
189 ? 'ListItemOdd'
190 : 'ListItemEven'
191 : virtualRow.index % 2
192 ? 'ListItemOdd'
193 : 'ListItemEven'
194 }
195 style={{
196 position: 'absolute',
197 top: 0,
198 left: 0,
199 width: `${virtualColumn.size}px`,
200 height: `${virtualRow.size}px`,
201 transform: `translateX(${virtualColumn.start}px) translateY(${virtualRow.start}px)`,
202 }}

Callers

nothing calls this directly

Calls 1

useVirtualizerFunction · 0.90

Tested by

no test coverage detected