Pagination with SvelteKit

  Рет қаралды 20,422

Huntabyte

Huntabyte

Күн бұрын

Пікірлер: 56
@aswinzero
@aswinzero Жыл бұрын
Bruh are u reading my mind, I've been doing pagination in sveltekit for almost 4 days and u dono how much I'm happy when i got this notification ❣️
@Huntabyte
@Huntabyte Жыл бұрын
I’m glad to hear that! There are some great pagination components to go along with this out there. Look up ‘Pagination svelte repl’ on Google for some ideas which may help you out a bit more!
@Allformyequine
@Allformyequine Жыл бұрын
Omgosh same here LOL!! I had to make my own weird version ... till now!!! Thank you!
@NotAllHeroesWearCapes-101
@NotAllHeroesWearCapes-101 Жыл бұрын
In continuation of our tradition, here is my comment on how great your video is :)
@Huntabyte
@Huntabyte Жыл бұрын
Thank you Dheeraj!
@dimitrisplastaras3026
@dimitrisplastaras3026 Жыл бұрын
Always the most usefull topics.
@Huntabyte
@Huntabyte Жыл бұрын
Thanks Dimitris!
@H3eNr1K
@H3eNr1K Жыл бұрын
Recently you just come up with everything I need to come forward in my project, thank you so much
@Huntabyte
@Huntabyte Жыл бұрын
You’re very welcome!
@Solanaceously
@Solanaceously Жыл бұрын
I'm convinced you and Joy Of Code conspired to talk about pages today
@Huntabyte
@Huntabyte Жыл бұрын
maybe we did maybe we didn’t 🫣😂
@patricknelson
@patricknelson Жыл бұрын
This is useful even for me; I’ve built all this stuff before over and over and over again… but in different stacks, frameworks & languages. It’s super interesting to see how someone does it in SvelteKit vs. Laravel or something.
@Huntabyte
@Huntabyte Жыл бұрын
I’m glad to hear that!
@codewithguillaume
@codewithguillaume Жыл бұрын
Again, an amazing video thanks !
@Huntabyte
@Huntabyte Жыл бұрын
You’re welcome, Guillaume!
@Allformyequine
@Allformyequine Жыл бұрын
AWESOME!!! Was hoping some knowledgeable SvelteKit guru would make a nice Pagination video!!
@adimardev1550
@adimardev1550 Жыл бұрын
Thanks mate! very helpful 👌
@nyashachiroro2531
@nyashachiroro2531 Жыл бұрын
As always great useful Svelte content
@Huntabyte
@Huntabyte Жыл бұрын
Thank you!
@Dev_dev_dev
@Dev_dev_dev Жыл бұрын
Great video! Any tips/resources on infinite scroll, or in other words appending the new page data on reaching a certain scroll point? We can't rerun "load," and if I'm using something like Prisma, I can't expose my DB by recreating the pagination in a function on the client side.
@Huntabyte
@Huntabyte Жыл бұрын
Cursor-based pagination would be a better fit for infinite scroll. Since this is a client side JS requirement, I’d probably setup a separate endpoint and issue fetch requests as you scroll just like you would with any other framework! Using {#await } along the way!
@adrianfr05
@adrianfr05 Жыл бұрын
why is the path on 3:46 not written with backticks and the variables with a $???
@Huntabyte
@Huntabyte Жыл бұрын
Svelte Magic 🪄- you don’t need to include backticks or $ inside of attributes in Svelte components!
@danielk.9321
@danielk.9321 Жыл бұрын
Good video, very useful
@Huntabyte
@Huntabyte Жыл бұрын
Thank you!
@mikebit5497
@mikebit5497 Жыл бұрын
How would that work if you have data put in by the user that should persist through the different pages? Like a list of favorite songs the user can select? Do they persist if the user changes the page or will they get reset when after the reload?
@mwlo8635
@mwlo8635 Жыл бұрын
Why are totalPages, currentPage, totalItems etc reactive? Wouldn’t that also work as normal variable?
@Trav164
@Trav164 Жыл бұрын
Do you have an example of including an optional page size with a select or something? After giving the user the option to change page size, I'm having difficulty refreshing the data or fetching the extra entities (example: going from pageSize: 10 => 50) Until I refresh the url params this doesn't work as it only updates the pagination links
@Huntabyte
@Huntabyte Жыл бұрын
When you update the pages, you should redirect the user to /whatever?limit=.
@Trav164
@Trav164 Жыл бұрын
@@Huntabyte if you’ve got some sort of filter on the table, how would you persist that if you’re redirecting users though?
@Huntabyte
@Huntabyte Жыл бұрын
@@Trav164 through the search params :)
@adamrichardlimb
@adamrichardlimb Жыл бұрын
Very nice, great video as always! Do you have any plans to do infinite scrolling/lazy loading? I imagine you could do something similar to this, but when the user reaches the top/bottom of the element - ask for more data and put it into an array, saving the highest and lowest element you have retrieved from the DB to use as the starting position for future queries. I've never implemented this, so I don't know if Svelte slows down when you have that many elements on the page, especially if they're complicated.
@kvetoslavnovak423
@kvetoslavnovak423 Жыл бұрын
Great video as usual! Any tips concerning the best SvelteKit way how to do Load more?
@tomich20
@tomich20 Жыл бұрын
thanks. My problem is when filtering, if i use the skip 30 param because im on page 3, i wont be getting the data i wanted.
@tipeon
@tipeon Жыл бұрын
Are you filtering your data in Javascript *after* the database query ? If so ... don't do that. Add a WHERE clause to your SQL query
@tomich20
@tomich20 Жыл бұрын
@@tipeon filtering on the query directly.. but if i do "select * from users where name like "%tom%" offset 10;" i will be missing the first 10 toms of the list, so the offset should be reset on every filtering?..?
@Huntabyte
@Huntabyte Жыл бұрын
I think in that case you would want to have an optional param that change the data retrieved from the DB *if* a filter is applied. Can certainly be done!
@kupyn
@kupyn Жыл бұрын
so what if i also have a serach bar? because right now i show paginated items, but if search query is in place i show all users
@Huntabyte
@Huntabyte Жыл бұрын
You would need some sort of conditional logic within the load function. Something to determine if it’s search to get the first X search results.
@doemaeries
@doemaeries 10 ай бұрын
might be a stupid question, but why do you use +page.ts and not +page.server.ts?
@Huntabyte
@Huntabyte 10 ай бұрын
Wasn't hitting a private API in this case so there was no reason to make the trip to the server every time.
@theshy6717
@theshy6717 Жыл бұрын
Love the font, what's the name of it?
@wandenreich770
@wandenreich770 9 ай бұрын
Hmm I sort have an issue with this example cause the /products/page conflicts with /products/productId in a real life scenario .I know this wasnt your intention but you could maybe highlight it or something
@marcoantonio7648
@marcoantonio7648 Жыл бұрын
almost died in the sql with offset But great video
@oscarvasquez5033
@oscarvasquez5033 Жыл бұрын
Thanks!
@Huntabyte
@Huntabyte Жыл бұрын
You're welcome!
@danielrios8037
@danielrios8037 Жыл бұрын
So easy explained, thanks a lot! Would it be possible to have a master detail mvp ?
@Huntabyte
@Huntabyte Жыл бұрын
What do you mean by master detail MVP?
@danielrios8037
@danielrios8037 Жыл бұрын
@@Huntabyte a minimal example of a master detail crud
@thirupparan421
@thirupparan421 Жыл бұрын
your videos are amazing. would you explain pagination page logic first show 5 page and after 5?
@Loui3Hunna
@Loui3Hunna Жыл бұрын
MVP!!
@Huntabyte
@Huntabyte Жыл бұрын
Thank you thank you!
@tipeon
@tipeon Жыл бұрын
Erm .... You're using offset and limit *without* an order by clause. 😮 Are you insane or does prisma adds it for you under the hood ?
@Huntabyte
@Huntabyte Жыл бұрын
Just a quick example 😂 I want to say by default it sorts by PK but I could be wrong there!
@TechBuddy_
@TechBuddy_ Жыл бұрын
@@Huntabyte postgres and MySQL order them in the order of insertion by default edit: this feature is not guaranteed and might change in the future Edit 2: The default behaviour only applies if you only insert and never update or delete the records
@Huntabyte
@Huntabyte Жыл бұрын
​@@TechBuddy_ Thanks for that info! Good to know, I usually orderby the field of my choosing but great info!
Best UI Library for Svelte
16:13
Huntabyte
Рет қаралды 111 М.
Speed Up Your Apps with Cache Control
14:42
Huntabyte
Рет қаралды 20 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
Form Actions Made Simple
29:04
Huntabyte
Рет қаралды 37 М.
Why I STOPPED Using Next.js And Chose Astro Instead
12:10
James Q Quick
Рет қаралды 62 М.
Svelte makes Drag And Drop API easy!
15:08
Antonio Sarcevic
Рет қаралды 22 М.
Svelte 5's Secret Weapon: Classes + Context
18:14
Huntabyte
Рет қаралды 30 М.
Using JavaScript Libraries With Svelte Is Easy
17:37
Joy of Code
Рет қаралды 13 М.
Learn SvelteKit Hooks Through 6 Examples
23:55
Joy of Code
Рет қаралды 20 М.
Protect SvelteKit Routes with Hooks
21:10
Huntabyte
Рет қаралды 60 М.
Andreas Söderlund - Superforms!
22:16
Svelte Society
Рет қаралды 8 М.
Practical Svelte 5 - Shopping Cart
25:10
Huntabyte
Рет қаралды 21 М.