V8 Migration #4019
-
Hi, I invested a lot in setting up a ReactTable using the excellent samples of V7 and for use throughout our project. It seems like a big job to upgrade to V8. Can someone advise me regarding 2 things:
Thanks! and keep up the quality work! |
Beta Was this translation helpful? Give feedback.
Replies: 15 comments 19 replies
-
Would love to see this as well. We also recently started using v7, and it's not very clear what the migration path to v8 would look like. It would be good to have some guidance on this |
Beta Was this translation helpful? Give feedback.
-
Working on it.
Tanner Linsley
…On Jun 29, 2022, 12:24 PM -0600, Mykhaylo Ryechkin ***@***.***>, wrote:
Would love to see this as well. We also recently started using v7, and it's not very clear what the migration path to v8 would look like. It would be good to have some guidance on this
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@tannerlinsley Hi, thanks for the fantastic table package I enjoy using it. How could I be notified when the migration guide will be ready? |
Beta Was this translation helpful? Give feedback.
-
Adding a comment to express more interest in a detailed migration guide. More concretely, a side-by-side comparison between old Anyways, a big thanks to @tannerlinsley for your contribution to the ecosystem! |
Beta Was this translation helpful? Give feedback.
-
@tannerlinsley Migration guide for v8 is up now? this thread is few month old so asking for any update! |
Beta Was this translation helpful? Give feedback.
-
Would like to know if there's a migration guide available yet |
Beta Was this translation helpful? Give feedback.
-
still nothing? we would really like to upgrade but it would be nice to understand how much effort to expect. |
Beta Was this translation helpful? Give feedback.
-
This is the problem with using libraries that creators think they need to do a complete api re-write on. Good libraries should be easy to upgrade, not whatever this mess is, and without a migration guide on top of it. I would caution against using any of his libraries. |
Beta Was this translation helpful? Give feedback.
-
I went over this list:
I had to go over literally every component in my integration. For my (more complex) integration it took almost a week to get everything right. |
Beta Was this translation helpful? Give feedback.
-
how long is v8 going to live? |
Beta Was this translation helpful? Give feedback.
-
Here are some notes from my migration experience:
This list is not exhaustive, but as you will see migrating is not as scary as it looks and the new api is much cleaner, more powerful, inspectable and extendable - Thanks @tannerlinsley and team for all your hard work in making this and making it available to everyone. |
Beta Was this translation helpful? Give feedback.
-
PR that into a new docs file and I’ll publish it
Tanner Linsley
…On Apr 25, 2023 at 9:51 AM -0600, akraines ***@***.***>, wrote:
Here are some notes from my migration experience:
First of all the fact that the new api is typed is a major upgrade in discoverability. Apart from that it is much easier to understand and extend, and comes with some great new features such as column pinning.
In general, although a lot changed, it is mostly superficial and once you get started in your migration you will get the hang of it and the rest should be intuitive:
1. Update column definitions:
a. create a columnHelper using createColumnHelper [if you are using ts, then you can also pass in your row type]
b. for each column object wrap it in columnHelper.accessor( [or .display etc], passing in the accessor as the first param and all the other fields will be in an options object in the second param
c. Some name changes:
d. Header => header
e. Cell => cell [the cell render function is also going to be update in the next step]
f. disableSortBy [GroupBy etc.] => enableSorting [,Grouping etc.]
g. sortType => sortingFn
h. Cell render function props:
i. value => getValue [this is a theme throughout the upgrade: instead of providing the value directly, it now exposes a function for you to evaluate it. I assume that this is in order to improve performance - it only does the work to evaluate the value if you call getValue() and then it caches it]
j. cell: {isGrouped, isPlaceholder, isAggregated} => cell: {getIsGrouped, getIsPlaceholder, getIsAggregated}
k. column: the base level props are now RT specific. values that you add into the object when you define it are now one level deeper in columnDef
l. table: props that you pass into the useTable hook now appear under options.
2. migrate the table render:
a. same sort of theme as above,
b. api for filters and aggregate is slightly different - there is an optional prep function and the filter function gets the row instead of all the rows
c. there are a few ways to access rows from the table object "getRowModel" etc. Just inspect and you will learn the lay of the land in short order.
d. just go example by example - the same way you setup your table in the first place.
This list is not exhaustive, but as you will see migrating is not as scary as it looks and the new api is much cleaner, more powerful, inspectable and extendable - Thanks @tannerlinsley and team for all your hard work in making this and making it available to everyone.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I have started a guide in the docs. I based some of it on @akraines summary. It probably covers more than half of the changes you will encounter. More to come in the future hopefully. https://tanstack.com/table/v8/docs/guide/migrating |
Beta Was this translation helpful? Give feedback.
-
Great Job!
From: Kevin Van Cott ***@***.***>
Sent: Monday, May 8, 2023 1:18 AM
To: TanStack/table ***@***.***>
Cc: akraines ***@***.***>; Mention ***@***.***>
Subject: Re: [TanStack/table] V8 Migration (Discussion #4019)
I have started a guide in the docs. I based some of it on @akraines <https://github.com/akraines> summary. It probably covers more than half of the changes you will encounter. More to come in the future hopefully. https://tanstack.com/table/v8/docs/guide/migrating
—
Reply to this email directly, view it on GitHub <#4019 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/ADT7NB4SZ65TAAZ2QZ6G6BLXFANRVANCNFSM5YUGYDIQ> .
You are receiving this because you were mentioned. <https://github.com/notifications/beacon/ADT7NB6LWRQJ64MX2AKLN2LXFANRVA5CNFSM5YUGYDI2YY3PNVWWK3TUL52HS4DFWFCGS43DOVZXG2LPNZBW63LNMVXHJKTDN5WW2ZLOORPWSZGOABMQACA.gif> Message ID: ***@***.*** ***@***.***> >
|
Beta Was this translation helpful? Give feedback.
-
Is this upgrade to V8 worth it? I don't see any feedback in here about that and it seems like that was part of the original question. I have a double digit number of tables in my app. I did convert one table and did not notice anything that stood out performance wise or other, although I did find out upgrading all the tables is going to be a challenge to say the least. The migration guide helped but so many things changed that are not in the migration guide yet. This feels like a re-write vs an upgrade. And yes, if I do end up migrating, I will contribute to the migration docs. |
Beta Was this translation helpful? Give feedback.
I have started a guide in the docs. I based some of it on @akraines summary. It probably covers more than half of the changes you will encounter. More to come in the future hopefully. https://tanstack.com/table/v8/docs/guide/migrating