We are using React framework in our application and Griddle library for creating table grid with 10,000 rows. Our application is heavily utilizing the searching, sorting functionality on all the data rendered in the Grid.
The problem which we are facing is that browser is taking large amount of time to create those child row component and render those. On an average 1 row is taking around 1ms. With 10,000 rows it translate to 10sec which is huge.
Ideally we want to somehow tweak rending only a small portion of data first like lets say 50 rows and then dynamically render next set of data when the user scrolls. However the searching; sorting functionality should work on all the data.
- Is Griddle a best suit or are there some other library which can be exploited for lazy loading with the current architecture.
- Other solutions on how this can be implemented like server side sorting, searching and then returning only a small set of data to frontend. Then fetch next set of paginated data on user scroll event.