-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Table doesn’t re-render with new React Compiler + React 19 #5567
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
Comments
This is unsurprising. This library (which I love) has been complicated to optimize since at least v7. They core instance returned from |
I am also having difficulty applying the compiler due to the same issue. I am concerned that other libraries might have similar issues, making the application of the compiler worrisome. |
Same exact issue. |
Yep, use no memo on table components for now. A v9 alpha branch was recently created where we will focus on version bumping the peer dependencies for each framework that needs it. |
Seems like doing the following solves it for me: TanStack/virtual#743 |
I've the same problem with Next.js 15 & React 19 & Tanstack Table 8.20.5
|
Same here. After hours of searching for a solution |
sorry how is use no memo? how can I implement that? |
@victormanuelfrancodev Just add |
I have some issues event with |
@dezerb can you provide more details/code snippets? I've been using 'use no memo' without a hitch. Curious to what you are running into. |
ah i finally got it working, but i needed to add |
I have an issue rerender with sorting, although I've already added 'use no memo' at the top. |
Same issue, in NextJS
If the page is "use client" rendered and uses my table component, checkboxes do not render (even though state is updated and I can log out selected rows). The 'use no memo' directive on page, component, subcomponent files have no effect for me. |
any updates on this? |
No, unless someone wants to help experiment with a new rerendering model |
Are the docs up somewhere or just in git? I would be interested in looking at v9 |
Please upgrade to support react 19 and next.js 15. |
I've been having trouble with memoization as well, with the |
TanStack Table's React Binding has an API design that doesn't allow you to follow the Rules of React (or React Inherichy), thus when used with React Compiler it breaks. E.g. see this commonly used API: table.getHeaderGroups().map(headerGroup => <th />); This function The same applies to In short, If you are using TanStack Table's React Binding, TanStack Team is forcing you to violate the Rule of React by forcing you to use un-pure functions in the render phase. See also the React Docs: https://react.dev/reference/rules/components-and-hooks-must-be-pure#return-values-and-arguments-to-hooks-are-immutable
The issue just demonstrates how much React knowledge the maintainers have. |
I am doing table resize, copy the code from example |
TanStack Table version
v8.17.3
Framework/Library version
React 19 + React Compiler
Describe the bug and the steps to reproduce it
In the repo provided, run
bun install
and thenbun dev
.Then, add some text to the input and click add. Observe that the table doesn’t re-render when the data passed in has changed (
table.getRowModel().rows
doesn’t seem to be updated).Your Minimal, Reproducible Example - (Sandbox Highly Recommended)
https://github.com/erikshestopal/react-compiler-bug/blob/a92305ca44ee81b6d7ece76c96aacf163fe83970/src/App.tsx#L38
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
None
Terms & Code of Conduct
The text was updated successfully, but these errors were encountered: