Тёмный

Next.js App Router: Routing, Data Fetching, Caching 

Vercel
Подписаться 84 тыс.
Просмотров 296 тыс.
50% 1

‪@leerob‬, VP of Developer Experience at Vercel, explains new concepts and foundations of Next.js app router, including layouts, dynamic routes, and data fetching. Deploy today: vercel.fyi/app-router
⌛️ Timestamps:
0:00 Introduction
0:10 Routing
2:57 Dynamic route segments
4:53 Data fetching
7:36 Caching
11:42 Metadata
💻 Resources:
◆ Routing: nextjs.org/docs/app/building-...
◆ Caching: nextjs.org/docs/app/building-...
◆ Metadata: nextjs.org/docs/app/building-...
#vercel #nextjs

Наука

Опубликовано:

 

25 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 311   
@NobleOsinachi
@NobleOsinachi 8 месяцев назад
Bro just explained half of my Next JS problems in 15 mins! Wow! This guy is good! 👍👍👍
@user-vp6ig6vw4s
@user-vp6ig6vw4s 26 дней назад
beacuse it is by next js original channel
@badalsaibo
@badalsaibo Год назад
This was an excellent demo. Concise, brief and to the point. Thanks Lee!
@leerob
@leerob Год назад
Thank you, this made my day 😁
@Vextor007998
@Vextor007998 9 месяцев назад
This guide really answered almost all of my questions, it's short and straightforward. You're doing a great job.
@NobleOsinachi
@NobleOsinachi 8 месяцев назад
Same thing I said. Like it was really packed with information and yet short.
@ryanp787
@ryanp787 Год назад
Love NextJS!!! Y’all are doing amazing innovative changes and I can’t wait for the app folder to be in production!! I’m hopping it’s coming in the near future. Keep up the great work team!!
@wij8044
@wij8044 Год назад
Literally, the only thing new was the last stuff with Metadata
@SheeceGardazi
@SheeceGardazi Год назад
nothhing innovate ... it has been part of nuxt.js since for ever ...
@kyonas6047
@kyonas6047 Год назад
Its now stable!! Horray just as i got back to next js
@tabletuser123
@tabletuser123 8 месяцев назад
Ai generated comment
@ryanp787
@ryanp787 8 месяцев назад
@@tabletuser123 nope I’m real lol. Your account name looks AI generated
@stillready6405
@stillready6405 11 месяцев назад
I didn't know you have a RU-vid channel. I was trying for hours, reading the documentation and failed. And here you explain everything in just 15 minutes. Thank you for the video!
@devkasunlakshitha
@devkasunlakshitha Год назад
Love these new improvements. This is why I love Next JS ❤
@epzoid7273
@epzoid7273 Год назад
thank you so much for this video, i am new to nextjs and i know noone that knows nextjs 13, so they couldnt help me with a problem i got with routing. but then you came!
@appscastle
@appscastle 2 месяца назад
This guy should keep posting videos, the examples and the way he explain things are just amazing
@mohamedheythembenhassen8337
Thank you so much vercel and @leerob , very short and informative video , i really like the app directory .
@reesebearden6566
@reesebearden6566 Год назад
used nextjs in my senior capstone project, it's blowing everyone away!
@adimardev1550
@adimardev1550 Год назад
i admit, this is truly fantastic! thanks to you amazing people of vercel and to you Lee, you're awesome. i'd love to know more to understand fully...
@browsing1598
@browsing1598 Месяц назад
Dude you legit saved me. Was spending so much time on this. This is the only video that helped me
@mohitnagpal
@mohitnagpal Год назад
I love Next.Js. Keep on going guys.
@leerob
@leerob Год назад
Thank you!
@christopheanfry2425
@christopheanfry2425 Год назад
Love it make me want to use nextjs every single day. You’re an amazing team with an amazing product. Huge kudos for all of you and a special thank to you Lee for your videos
@leerob
@leerob Год назад
Appreciate the kind words :)
@advem.
@advem. Год назад
Light years ago music was on vinyl records, then on CDs and now it's streamed from cloud. Movies were on VHS, later DVDs and BlueRays - now it's streamed from cloud. Video games... can't ever remember all those consoles but now it's all digital and also you can stream playing in cloud. Finally webApps - your UI had been rendering on your device's broweser for days or rendered server-side... ...until now. It's time for streaming era even in webdev with UI Streaming! Simply render component, cache or revalidate it and serve to clients! Just this tiny piece! FINALLY I am sooooo hyped for the stable release you can't image. Love what u doing guys
@timeforrice
@timeforrice Год назад
Very helpful!! Hope to see more videos like this!!
@Paul_Aderoju
@Paul_Aderoju Год назад
Currently using this in my next project and it’s so much easier to route between pages
@FrontendMedia
@FrontendMedia 11 месяцев назад
Thanks! Those new features are really neat.
@versaleyoutubevanced8647
@versaleyoutubevanced8647 Год назад
very straightforward, love it
@codinginflow
@codinginflow Год назад
Is there a difference between no-cache, no-store and next.revalidate: 0?
@jsricochet
@jsricochet Год назад
Clear and to the point: thanks!
@tilmanmarquart8744
@tilmanmarquart8744 Год назад
Super excited to use this in prod soon!😁
@farzadali7434
@farzadali7434 2 месяца назад
Excellent delivery!
@wouterdeen
@wouterdeen Год назад
Extremely helpful video, thank you!
@nayyyhaa
@nayyyhaa Год назад
this is BEAUTIFUL!!!!!
@codinginflow
@codinginflow Год назад
Once the remaining router bugs are fixed, this will be amazing
@iAmTheWagon
@iAmTheWagon Год назад
Yes. This is very helpful. Thank you.
@AllanLeonardJr
@AllanLeonardJr Год назад
Just what I needed, awesome!
@AdeelEjaz
@AdeelEjaz Год назад
I have been using app router for a few months on few of my production projects, and very impressed with the results. I'd love to see videos on how to implement GTM/GA, and posting data e.g. updating user details in a form.
@leerob
@leerob Год назад
Great suggestions!
@aneriemmanuel7243
@aneriemmanuel7243 Год назад
Yeah this would be great, seems work on mutations is still ongoing for now…. But it seems the app directory is reaching stable, started a new SAAS project with it and hopefully it doesn’t end in tears 😂
@victorekea
@victorekea 9 месяцев назад
This is a great refresher and summary of all the awesome features of the nextjs app directory. I'm curious if there are any implications of setting the cache: no-store parameter on the fetch keyword.
@youneshenni5417
@youneshenni5417 11 месяцев назад
This is the future of Web Developement!!!!
@2an_sound
@2an_sound Год назад
Thank you! I'm not an expert in NextJS and in their docs for app router, couldn't find any mention of utilizing params to get the id from a dynamic route. I was messing with headers, pathname etc when params would have been fine. You helped me so much. Now I'm just trying to figure out why pages in my dynamic routes don't use the root layout (the page itself takes over the whole screen and the root layout is gone)
@GowthamN-sp9wc
@GowthamN-sp9wc 6 месяцев назад
Thank you for the info on how to route one page to another without a link tag.
@mel_alejandrino
@mel_alejandrino 7 месяцев назад
very well explained! just wow
@thomaspattinson3977
@thomaspattinson3977 Год назад
Brilliant innovations!
@kasper369
@kasper369 Год назад
Amazing stuff ❤
@emeraudata
@emeraudata 12 дней назад
You just have save my project before I turn crazy, tx comrade
@Moh_ha
@Moh_ha Год назад
Amazing great work!
@iwantfrens5804
@iwantfrens5804 6 месяцев назад
Leerob is fcking amazing!!! I love these videos!!!
@Tantewillieja
@Tantewillieja Год назад
Love the app directory, made my life so much easier!
@leerob
@leerob Год назад
Glad to hear it!
@idanmasas
@idanmasas Год назад
@@leerob Hey Lee, can you please share with us the VSCode theme that you were using during this video?
@faizanahmed9304
@faizanahmed9304 Год назад
Thank you team vercel for explaining the concepts!
@leerob
@leerob Год назад
Thank *you*!
@faizanahmed9304
@faizanahmed9304 Год назад
@@leerob you're welcome
@quickclean-ninja
@quickclean-ninja Год назад
Great thanks..finaly i got it
@developerpaul46
@developerpaul46 Год назад
Thanks Lee
@franksonjohnson
@franksonjohnson Год назад
Next finally cracking Jekyll's layout feature 13 years later. But good demo of the data fetching behavior from Lee!
@tanmaysharma4043
@tanmaysharma4043 Год назад
Full stack industry level application tutorial needed for all the best practices and application
@wfl-junior
@wfl-junior Год назад
I can't wait to use the app directory stable
@GuillaumeDuhan1
@GuillaumeDuhan1 Год назад
Thanks for this amazing video
@allyk904
@allyk904 Год назад
İt s been incredible helpfull. Thanks
@oiojin831
@oiojin831 9 месяцев назад
clear explanation
@harshilpatel3389
@harshilpatel3389 11 месяцев назад
Finally i get the solution of routing. Huh. Please mention this specifically clear in the your website.
@islamabdelhakiim7258
@islamabdelhakiim7258 10 месяцев назад
Thanks a lot
@exprove2496
@exprove2496 Год назад
In 13:35 it's mentioned that "these are automatically deduplicated". If in getRepo was passed fetch({ cache: no-store }) would generateMetadata and Page make only one or two requests each refresh?
@killiankavanagh3854
@killiankavanagh3854 Год назад
very helpful
@mohammadhosseinmoradi2021
@mohammadhosseinmoradi2021 Год назад
Great 👍.
@kasper369
@kasper369 Год назад
Please make a video on, Deployment. How to optimize and the proper way to deploy your app for the wild in new nextjs 13 way
@liketocode
@liketocode Год назад
Wow, never been so happy to be told I have to re-write my code base ... what's NEXT ;) 1) As has been asked below, how do we now define a list of paths for prerendering - previously done using getStaticPaths Method? The docs do not seem to detail this specifically? 2) Observation - the generic naming convention for Page and API routes will make searching for files during development a bit of a task? Thanks a million - super framework.
@grmn3564
@grmn3564 Год назад
I'm learning NextJS at the moment and I have the same question about the generic naming convention. I opted for the old routing system because I want each file to have a more descriptive name. I'm still trying to understand the advantages of the new routing system, so if anybody can explain, please do it! thank you :)
@adeleke5140
@adeleke5140 10 месяцев назад
Thank you for this video. It is so informative. I have one question for Lee, how does he get his cursor to move so smoothly?
@sumitsaha6941
@sumitsaha6941 3 месяца назад
Keep going sir.
@fredericorinco9133
@fredericorinco9133 Год назад
The big thing here is being able to import npm packages like embedded tweets, unsplash images, etc, that do their own fetching on the server. The bad side is that the nesting is incredibly quirky, and waterfall-prone. If there's not enough education on the subject, the level of apps will reduce, and the number of new apps passing the performance criteria will reduce dramatically. The architecture allows for bad fetching. But well so does react-query, apollo client and friends.
@FelipeSantos92Dev
@FelipeSantos92Dev Год назад
Like you said...it really blows my mind 😅 #Amazing
@changecollar
@changecollar Год назад
THANK YOU
@PyrexCelso
@PyrexCelso Год назад
This is awesome. If my main data source is prisma, is there a way to leverage this caching mechanism, without losing the type safety provided by it?
@sthomastt
@sthomastt 10 месяцев назад
Excellent to the point(s) video. Is there a code repo with the examples, so I can save time remixing and experimenting?
@Gyurmatag
@Gyurmatag Год назад
What If I have some dynamic data on one route and I navigate to another route where I add to that data with a post request (for example a blog post) and If I navigate back to the previous route (without refresh) I want to see the fresh data list (post list) with the new item added? What can I use it to invalidate the cache and make Next.js to call the fetch again without refresh?
@trevortylerlee
@trevortylerlee Год назад
Had an issue where halfway through development we needed a page that we did not want to use the root layout. Seems like the only way to do that is to split that one page and the rest of the site into two separate folders in the app directory, each with their own layout. Tried doing that but as a result all my imports / paths broke. Is there an easier way to go about creating different root layouts? Or opting out of a root layout?
@ooogabooga5111
@ooogabooga5111 Год назад
I have been thinking the same, on how to out out of a certain layout for a specific page that is deeply nested. Like I would like to have root: layout work and layout level 2 work but I don't want layout level 1 to be included in the same route. Like how do I avoid that. Right Now The only way of doing it seems to be, not using layouts and instead use it as components that you can import like how we did it in the old nextjs.
@PeriklesPeriklesoglu
@PeriklesPeriklesoglu 3 месяца назад
thank you
@paredesparedespg
@paredesparedespg Год назад
finally thanks
@DrDarp
@DrDarp 11 месяцев назад
For everyone wondering what icon pack it is, it's vscode-icons
@prateekbagrecha7012
@prateekbagrecha7012 9 месяцев назад
Could you please tell us the extensions that you are using to speed the development ?
@Ruffi0
@Ruffi0 Год назад
I prefer nuxt. But yes this is the way. Strapi is one of my favs. Headless WP isnt anything to scoff at though. There are frameworks that exist solely for headless WP and with its extensions of plugins.
@almeidaofthejoel
@almeidaofthejoel Год назад
Is there a way to support static generation for dynamic routes similar to exporting fallback from getStaticPaths before next 13?
@RedVelocityTV
@RedVelocityTV Год назад
I'd love to see a state management video for Next13. How server data can be hydrated on client to add interaction
@zuma206
@zuma206 Год назад
just pass props to a client component, that simple :)
@RedVelocityTV
@RedVelocityTV Год назад
@@zuma206 large apps don't use prop drilling. They have their own client store
@random4561
@random4561 Год назад
@@RedVelocityTV I think you would just pass the props to the layout where it can hydrate the client store, just like with the current pages system
@najlepszyinformatyk1661
@najlepszyinformatyk1661 11 месяцев назад
usually, you don't need to think about state management in an old-fashioned way, now all requests are cached by default so you just need to create the function `fetchSomeShit` and reuse it. For a client-based state, you can use old approaches as well
@monfernape
@monfernape Год назад
So cool
@FrontendMedia
@FrontendMedia Год назад
Hi, thanks for tutorial! What icon theme are you using here? :)
@TheAkshayvirle
@TheAkshayvirle Год назад
Which extension is used to predict all the async await fetch code generation that we see in the video?
@redhood7105
@redhood7105 Год назад
Video about auth with new Next would be nice. How to protect routes and such
@peterlee8407
@peterlee8407 Год назад
Nice video! Could I know why every time when you type new lines of code, the "code hints" in grey colors already know what you are going to type? Any plugins abt this? Thx
@user-kc7vz1wg5t
@user-kc7vz1wg5t Год назад
Thanks
@VictorSilvaDev
@VictorSilvaDev Год назад
The cache control, only works using the native fetch api ? or can I have the same behavior using axios for example?
@ssawass
@ssawass Год назад
Not sure why Route Handlers were not showcased here. Seemed like a fitting topic
@martinmatuszek1277
@martinmatuszek1277 Год назад
What caught my attention was proposing type properties in Repository type definition. How VS Code have done that?
@BenZekriNBENZ
@BenZekriNBENZ 11 месяцев назад
Thanks Nextjs team, you're making the world of dev a better place and without headache.
@depression_plusplus6120
@depression_plusplus6120 10 месяцев назад
How do you manage localstorage in next. As we can't access it since next prerenders on server, right?
@BenZekriNBENZ
@BenZekriNBENZ 9 месяцев назад
use LocalStorage in a client component 'use client'@@depression_plusplus6120
@mahdimohammed5393
@mahdimohammed5393 Год назад
Great video When the app folder will be stable do you know the date ?
@0kJaymie
@0kJaymie Год назад
Can you use anything other than [id] for your dynamic route folder? I tried using something else but it doesn't work. Maybe I'm doing it wrong but I'm not getting any errors
@TomasJansson
@TomasJansson Год назад
When experimenting with dynamic routes and looking at the x-vercel-cache header I noticed I only got a HIT on static routes, as soon as I used a dynamic route, like the blog post in the video, it resulted in a MISS. Why can I get the same level of caching on dynamic routes? Caching should be more dependent on the data on the page than the actual url.
@Ga2-20
@Ga2-20 Год назад
Can I load data in layout.tsx and pass some of the data as a props to page.tsx which is layout children?
@vinayak2450
@vinayak2450 Год назад
How would the app know how many ISR pages it has to store it statically first at build time?
@ooogabooga5111
@ooogabooga5111 Год назад
Please also talk about how to share data between all these components with data being cashed on server, How to add styles. If there are any gotcha as it stands right now.
@rand0mtv660
@rand0mtv660 Год назад
Great content! I just wanted to ask, since fetch is the API that was extended to support some of this caching stuff, I'm guessing using something like axios it just won't support all of these features? Is there a way to make it work even with something like axios?
@confuze1500
@confuze1500 Год назад
I don't think so. If I'm not mistaken, you can use the new react cache function. That's the way to do it with database queries as well, I think.
@abdulramonlasisi3385
@abdulramonlasisi3385 Год назад
export const revalidate = 60 //one minute
@rand0mtv660
@rand0mtv660 Год назад
@@abdulramonlasisi3385 I'll have to try that out, but thanks. I was under the impression all of this requires fetch API to be used.
@tubebility
@tubebility Год назад
What extension are you using to get that "searchParams" autocomplete?
@nasso_
@nasso_ Год назад
but how do i change the title of my page based on dynamic, client-side state? say, a text input for example?
@brahimo4701
@brahimo4701 4 месяца назад
is there a way to combine between getting the data from a server component and the use of "use hook" on the client component to avoid passing props??
@mathiasriissorensen6994
@mathiasriissorensen6994 11 месяцев назад
I love this but I really miss a way to update the data when the user has interacted with an element, like updating their profile using a button. When using useSWR you can execute mutate(), and then the data is updating. Do we have something similar?
@user-qu8hg3wt3i
@user-qu8hg3wt3i 4 месяца назад
Thanks for sharing! I am confusing what different between images in source code and in public folder (performance, bundle size, ... ) and what is the best practice?
@santokhan_
@santokhan_ Год назад
helpful
@kasvith
@kasvith Год назад
Whats the best way to handle Auth and Pass state from server to client
@leantrim
@leantrim Год назад
NextJS ❤
@syedhaider0916
@syedhaider0916 Год назад
I wish you had kept going on and on explaining next js like sliding knife in butter.
@thedigitalceo
@thedigitalceo Год назад
Do I see an API folder in the app directory! Would’ve love to hear about that.
@kimbapslayer1995
@kimbapslayer1995 Год назад
If i bootstrap a next project with the traditional src dir but use next 13 are these server components still available? Is this App dir only features?
Далее
10 common mistakes with the Next.js App Router
20:37
Просмотров 185 тыс.
Next.js App Router Caching: Explained!
25:22
Просмотров 82 тыс.
Trying to attack the Vercel Firewall
13:09
Просмотров 20 тыс.
Next.js App Router REVIEW (Six Months In Prod)
16:10
Просмотров 59 тыс.
Fetching Data Doesn't Get Better Than This
6:58
Просмотров 81 тыс.
Beware of "auto" Mode in the NextJS App Router
12:27
Просмотров 14 тыс.
Next js 15 is Here… New Changes Again?!
8:13
Просмотров 119 тыс.
Incrementally adopt the Next.js App Router
16:21
Просмотров 41 тыс.
Купил iPhone 15. Первые эмоции!
0:58