Skip to content

Commit 9e6987d

Browse files
committedFeb 4, 2025·
docs: exp virtual - remeasure when table state changes
1 parent 099e1a4 commit 9e6987d

File tree

2 files changed

+24
-0
lines changed
  • examples/react
    • virtualized-columns-experimental/src
    • virtualized-rows-experimental/src

2 files changed

+24
-0
lines changed
 

‎examples/react/virtualized-columns-experimental/src/main.tsx

+12
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ function App() {
2929
setData(makeData(1_000, columns))
3030
}, [columns])
3131

32+
// refresh data every 5 seconds
33+
React.useEffect(() => {
34+
const interval = setInterval(() => {
35+
refreshData()
36+
}, 5000)
37+
return () => clearInterval(interval)
38+
}, [refreshData])
39+
3240
const table = useReactTable({
3341
data,
3442
columns,
@@ -246,6 +254,10 @@ function TableBody({
246254
},
247255
})
248256

257+
React.useLayoutEffect(() => {
258+
rowVirtualizer.measure()
259+
}, [table.getState()])
260+
249261
const virtualRowIndexes = rowVirtualizer.getVirtualIndexes()
250262

251263
return (

‎examples/react/virtualized-rows-experimental/src/main.tsx

+12
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ function App() {
7070
_setData(makeData(50_000))
7171
}, [])
7272

73+
// refresh data every 5 seconds
74+
React.useEffect(() => {
75+
const interval = setInterval(() => {
76+
refreshData()
77+
}, 5000)
78+
return () => clearInterval(interval)
79+
}, [refreshData])
80+
7381
const table = useReactTable({
7482
data,
7583
columns,
@@ -189,6 +197,10 @@ function TableBodyWrapper({ table, tableContainerRef }: TableBodyWrapperProps) {
189197
},
190198
})
191199

200+
React.useLayoutEffect(() => {
201+
rowVirtualizer.measure()
202+
}, [table.getState()])
203+
192204
return (
193205
<TableBody
194206
rowRefsMap={rowRefsMap}

0 commit comments

Comments
 (0)
Please sign in to comment.