@@ -49,29 +49,27 @@ interface VirtualListRowsProps<T> {
4949 measureElement ( element : Element | null ) : void
5050}
5151
52- function renderVirtualListRows < T > ( {
52+ function VirtualListRows < T > ( {
5353 virtualItems,
5454 loading,
5555 items,
5656 getItemView,
5757 measureElement,
58- } : VirtualListRowsProps < T > ) : ReactNode [ ] {
59- const elements : ReactNode [ ] = [ ]
60-
61- for ( const item of virtualItems ) {
62- elements . push (
63- < VirtualListRow
64- key = { item . key }
65- item = { item }
66- loading = { loading }
67- items = { items }
68- getItemView = { getItemView }
69- measureElement = { measureElement }
70- /> ,
71- )
72- }
73-
74- return elements
58+ } : VirtualListRowsProps < T > ) : ReactNode {
59+ return (
60+ < >
61+ { virtualItems . map ( ( item ) => (
62+ < VirtualListRow
63+ key = { item . key }
64+ item = { item }
65+ loading = { loading }
66+ items = { items }
67+ getItemView = { getItemView }
68+ measureElement = { measureElement }
69+ />
70+ ) ) }
71+ </ >
72+ )
7573}
7674
7775interface VirtualListProps < T > {
@@ -138,20 +136,19 @@ export function VirtualList<T>({
138136 } , [ scrollResetKey , virtualizer ] )
139137
140138 const virtualItems = virtualizer . getVirtualItems ( )
141- const virtualRows = renderVirtualListRows ( {
142- virtualItems,
143- loading,
144- items,
145- getItemView,
146- measureElement : virtualizer . measureElement ,
147- } )
148139
149140 return (
150141 < ListWrapper id = { id } ref = { parentRef } onScroll = { onScroll } >
151142 < ListInner ref = { wrapperRef } style = { { height : virtualizer . getTotalSize ( ) } } >
152143 < ListScroller style = { { transform : `translateY(${ virtualItems [ 0 ] ?. start ?? 0 } px)` } } >
153144 { children }
154- { virtualRows }
145+ < VirtualListRows
146+ virtualItems = { virtualItems }
147+ loading = { loading }
148+ items = { items }
149+ getItemView = { getItemView }
150+ measureElement = { virtualizer . measureElement }
151+ />
155152 </ ListScroller >
156153 </ ListInner >
157154 </ ListWrapper >
0 commit comments