12 lines
No EOL
517 B
TypeScript
12 lines
No EOL
517 B
TypeScript
import { useMemo } from 'react'
|
|
import { CellMeasurerCache, CellMeasurerCacheParams } from 'react-virtualized';
|
|
import useLatestRef from 'App/hooks/useLatestRef'
|
|
|
|
export default function useCellMeasurerCache(itemList?: any[], options?: CellMeasurerCacheParams) {
|
|
const filteredListRef = itemList ? useLatestRef(itemList) : undefined
|
|
return useMemo(() => new CellMeasurerCache({
|
|
fixedWidth: true,
|
|
keyMapper: filteredListRef ? (index) => filteredListRef.current[index] : undefined,
|
|
...options
|
|
}), [])
|
|
} |