Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Table is unresponsive with a lot of entries #536

Open
lukasbash opened this issue Jan 29, 2024 · 3 comments
Open

[Question] Table is unresponsive with a lot of entries #536

lukasbash opened this issue Jan 29, 2024 · 3 comments
Labels
question Further information is requested

Comments

@lukasbash
Copy link

lukasbash commented Jan 29, 2024

Describe the bug
First of all, I am aware of the fact that this table does not mean to implement any kind of virtualization (yet?), but by using e.g. 10.000 entries of data (in combination with filters or other components which might re-render) it is completely unresponsive and exhausts rendering time.
I actually think this might not be classified as a bug, but maybe you can give me a hint on how to handle this situation.

Given the following scenario:
I got a column filter which is any mantine input. I have to track the value (so control the component) because the requirement is to keep the state cross paged. Now, whenever I change the value, I have to update it in my state, whereas the server request is debounced for a few seconds. Due to the fact that the filter values changes (and therefore the column definitions because I might have to change the filtering property etc.) the whole table (including all 10.000 entries) re-renders on every key-up.
I thought about memoizing the columns, but in the end at some point I must (at least partially) re-render the table, for filter visualization, displaying the loading spinner, and possibly more.

Any recommendation on how to handle this? Manually implement virtualizing? Precisely defining a memo comparator?

Basically out of ideas to fix this ...

EDIT: What do you think about offering some kind of row renderer or row memoization? When I e.g. set a filter and therefore implicitly change the column model I do not necessarily want to rerender any row.

To Reproduce
Steps to reproduce the behavior:

Render thousands of entries and e.g. use a filter input whereas the filter change re-renders the table (header).

Expected behavior

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: macOS Sonoma 14.3
  • Browser: all
  • Version: latest

Additional context

@icflorescu icflorescu added the question Further information is requested label Feb 28, 2024
@ayuhito
Copy link

ayuhito commented Jun 26, 2024

https://virtuoso.dev/ - Might be a good fit for virtualisation support.

@Grawl
Copy link

Grawl commented Sep 20, 2024

For now, I facing a huge performance drops with 150 rows.

@petrvecera
Copy link

I have created a discussion on this topic #643

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

5 participants