unnecessary rerenders of every row and cell in examples/react/editable-data
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- react, typescript
- Bereich
- frontend, performance
Rechercherichtung
Beginne in examples/react/editable-data und reproduziere den Bearbeitungsablauf mit dem React DevTools profiler. Verfolge die instabile cell.getContext()-Referenz und ermittle, ob das Verhalten des Beispiels oder der Tabelle dazu führt, dass alle Zeilen und Zellen erneut gerendert werden. Erledigt ist die Aufgabe, wenn das Bearbeiten einer Zelle keine nicht betroffenen Zellen mehr erneut rendert und das Profiling-Ergebnis im Beispiel verifiziert wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
Every time one cell is edited in the examples/react/editable-data example, the entire table rerenders. If a user wants to render a large amount of rows, this strategy will start getting slow. At 50 rows in the example it takes 14.4 milliseconds to rerender the whole table with basic data. I've narrowed the unstable reference down to cell.getContext().
Your minimal, reproducible example
https://github.com/TanStack/table/tree/main/examples/react/editable-data
Steps to reproduce
- Open react dev tools profiler
- Start profiling
- Click on a cell to edit it
- Click off the cell
- Stop the profiler
- Check the results
Expected behavior
Only the affected cell should rerender unless my other cells have a direct dependency on it. I've even tried creating memoized components all the way down to the cell.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
Windows
react-table version
8.8.5
TypeScript version
No response
Additional context
If this is something the library doesn't support then I think there should be a documentation section on it describing the pitfalls of rendering a large amount of rows and/or using complex cells.
Terms & Code of Conduct
- I agree to follow this project's Code of Conduct
- I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 28.5k
- Forks
- 3.6k
- Ø Merge
- 19 Std. 40 Min.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus TanStack/table
-
Issue template renders `react-table`, not `TanStack/table`Evtl. vergeben @vishruthasgowda hat das vor 14 Tagen übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
TanStack/table#6595 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
TanStack/table#6601 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Cast required to access custom options when defining a custom plugin/featureEvtl. vergeben @sorena-paydar hat das vor 15 Tagen übernommen. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
-
`aggregatedCell` not typed against bound `cellComponents` in `createAppColumnHelper`Evtl. vergeben @cpruijsen hat das vor 26 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
rajbos/ai-engineering-fluency#2340 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
community documentation first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 70/100
lingdojo/kana-dojo#31864 · 1 Kommentar · 5 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
zenstackhq/zenstack#2873 ·
Maintainer antworten meist innerhalb von 1 Tag
-
CLI: TUI shows onboarding when the provider's API key is only in the environment (e.g. OPENROUTER_API_KEY)Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenCLI
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
cline/cline#14923 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
paperclipai/paperclip#15490 ·
Maintainer antworten meist innerhalb von 1 Tag