Skip to main content

Virtualization and Infinite Scrolling

Virtuoso Library

We use a library called Virtuoso to do both virtualization and infinite scrolling of flat lists. I say 'flat lists' because we tried to use virtuoso in in our node tree component, but it had issues rendering nested lists that used virtuoso, so we ended up not doing any virtualization in the node tree and rolling our own infinite scrolling solution for it. However, we feel this use case is fairly uncommon and recommend using Virtuoso whenever possible because it's a pretty simple API and does both virtualization and infinite scrolling.

Official Documentation can be found here.

Places using Virtuoso in our code include the FullTable component in the component library and FailedUploads component in AtlantisFrontEnd.

 

Please note that you must supply a height for Virtuoso, or any virtualized list, to work because it needs some kind of container to do its calculations.