Learn Next.js 13 With This One Project

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 มิ.ย. 2024
  • React Simplified Course: reactsimplified.com
    Next.js is constantly evolving and one of the biggest updates is the addition of server components and server actions. This video goes over all the new Next.js 13 changes and how you can use these new features to create a simple todo list application.
    📚 Materials/References:
    React Simplified Course: reactsimplified.com
    GitHub Code: github.com/WebDevSimplified/n...
    Prisma Crash Course Video: • Learn Prisma In 60 Min...
    Singleton Video: • Singleton Pattern - De...
    🌎 Find Me Here:
    My Blog: blog.webdevsimplified.com
    My Courses: courses.webdevsimplified.com
    Patreon: / webdevsimplified
    Twitter: / devsimplified
    Discord: / discord
    GitHub: github.com/WebDevSimplified
    CodePen: codepen.io/WebDevSimplified
    ⏱️ Timestamps:
    00:00 - Introduction
    00:44 - Setup
    01:50 - Database Setup
    05:45 - Remove Boilerplate Code
    07:20 - Next.js 13 Routing
    08:35 - Home Page
    10:41 - Server Component Data Fetching
    17:34 - New Todo Page
    20:24 - Server Actions (Forms)
    25:20 - Server Actions (Buttons)
    #NextJS #WDS #ReactJS

ความคิดเห็น • 435

  • @CleverProgrammer
    @CleverProgrammer 10 หลายเดือนก่อน +59

    I just screenshot 21:52. That tells me EVERYTHING I need to know haha. Dude amazing explanation. I was fighting moving to 13.4 next so hard now I'm fucking excited to hop in!

  • @codeofcodedotorg
    @codeofcodedotorg ปีที่แล้ว +448

    How many todo lists does it take to get a job?

  • @joak-web
    @joak-web ปีที่แล้ว +99

    Just found this channel, and honestly didn't think it was possible to condense so much info in such a small amount of time. Well done, mate.

    • @kevin8798
      @kevin8798 ปีที่แล้ว +2

      This video has a 1.2x speed or something

    • @Beny123
      @Beny123 ปีที่แล้ว +1

      @@kevin8798 Kyle's videos are very information dense beware. Don't speed up unless you are already familiar with the topic.

    • @nushydude
      @nushydude 7 หลายเดือนก่อน

      Helps when one can type fast 😊

  • @chantalchen1908
    @chantalchen1908 ปีที่แล้ว +3

    Thank you so much for collecting the otherwise scattered information on learning Next.js. The TODO list example project is great in helping me getting into it as quickly as possible. Looking forward to more of your videos!

  • @chillwavefrequency8108
    @chillwavefrequency8108 11 หลายเดือนก่อน +4

    So glad that you created this channel! I needed a crash course to get started on a new project. Thanks a lot Kyle!

  • @keithlamontdavis8047
    @keithlamontdavis8047 10 หลายเดือนก่อน +1

    Another great tutorial. Quality teaching is a special skill and you are great at it. No fluff, easy to follow and thorough all at the same time. Thanks again!

  • @urnan7499
    @urnan7499 ปีที่แล้ว +1

    I have to say that after hours of browsing and searching, this is the only quick and in depth tutorial i have found. Every other tutorial either is literally useless at explaining whats going on and speeds through everything like a robot or is just too long.

  • @orashusedmund7675
    @orashusedmund7675 ปีที่แล้ว +3

    thanks Kyle, i just started learning next a few days ago and with all these changes i've been so lost with even how to route😮‍💨, u a life saver man

  • @JBurky15
    @JBurky15 ปีที่แล้ว +20

    Awesome tutorial, I've been really interested in learning Next.js recently and this really helped kick start that process for me. Keep making awesome content, Kyle!

    • @chrisbolson
      @chrisbolson ปีที่แล้ว +3

      I’m in exactly the same position. I “know” that I need to learn next.js but I keep putting it off. I think that this excellent tutorial might just be the one that finally makes me do it!

    • @VIJAY-hg7ei
      @VIJAY-hg7ei ปีที่แล้ว

      @@chrisbolson hey can u help me with this real quick
      peer class isn't working for me if i check the box the style are not applying

    • @omerfarukbilgin2157
      @omerfarukbilgin2157 ปีที่แล้ว

      ​@VIJAY hey it's been a while and you probably solved it, but if you haven't solved it yet, can you share your input tags' codes in the todoItem component? Maybe I'll be able to help.

  • @r34ct4
    @r34ct4 9 หลายเดือนก่อน +2

    Wow, your pacing is incredible. I watch it, try to keep up, inevitably fall behind, but then I can just go back and watch back the last few seconds. It's fast, but re-watching is fast too, so I end up learning faster by replaying parts over and over

  • @kanishkart9923
    @kanishkart9923 ปีที่แล้ว +6

    Kindly keep up the good work kyle. Your videos are really helpful. Looking forward to this video...

  • @eliyahutarab4862
    @eliyahutarab4862 ปีที่แล้ว +2

    just amazing the way you can create client side component but the function that is realy like on click/change is been created as a server action on the server just mindblowing

  • @spencerhepworth
    @spencerhepworth ปีที่แล้ว +33

    I really like that you pay attention to CSS throughout your videos. A lot of tutorial people blow through it and don't emphasize the importance of style. Thank you for making it important.

    • @Sneaadler
      @Sneaadler ปีที่แล้ว +4

      Meanwhile: *Him copy pasting in '"css'" and saying "this is not really important" 🤐

    • @miervaldis42
      @miervaldis42 ปีที่แล้ว +3

      @@Sneaadler He did explain other CSS snippets, like before and after the part you mentioned though 😶

    • @ohmygoodness6773
      @ohmygoodness6773 11 หลายเดือนก่อน +1

      Well, for his example it's not really important

    • @GhostkillerPlaysMC
      @GhostkillerPlaysMC 11 หลายเดือนก่อน

      @@Sneaadler Probably better that he didn't obsess over every minute detail in the styling as if he were completing a project for $$. Especially since the point of the video has nothing to do with css, I think the amount he did touch on it was great

    • @Sneaadler
      @Sneaadler 11 หลายเดือนก่อน

      @@GhostkillerPlaysMC Yes ofc, I did not want him to

  • @2trcvgb
    @2trcvgb ปีที่แล้ว

    I just started to leran Nextjs in my new workplace( re-wrapping react with Next +tailwind) thank you. Just saved your video in my offline youtube repository

  • @faizbyp
    @faizbyp ปีที่แล้ว +1

    thank you very much for the tutorial! i always get confused when it got to server component but you explain it clearly

  • @avelinecash
    @avelinecash ปีที่แล้ว +5

    Thanks Kyle. I learned so much from this video. Maybe also add the CRUD operations? That would be great.

  • @diegovalencr
    @diegovalencr ปีที่แล้ว +2

    This was amazingly well summarized. I can't believe you packed so much in a 30 min video and everything was still very clear!

  • @virgoeun
    @virgoeun 8 หลายเดือนก่อน

    Thanks! I am a beginner and learned controlling server side using only express js but many are saying that next js is getting really popular and I thought there must be reasons for its popularity and now I KNOW! :D so cool - that I could get to learn basic of next js and even typescript as well through your tutorials. Thank you again, and I will keep an eye on your videos and course for sure !!!!!

  • @joss8558
    @joss8558 ปีที่แล้ว +1

    Great tutorial, concise and fast, covered a lot.

  • @AliAliOxenFree
    @AliAliOxenFree ปีที่แล้ว +2

    Prisma is fantastic at handling dozens of tables with complex relationships!
    thanks for this vid buddy

  • @AmandaGxagxa
    @AmandaGxagxa ปีที่แล้ว +1

    Awesome tutorial I have learnt a lot from this in a very shot period. Thank you so much

  • @natbud7987
    @natbud7987 ปีที่แล้ว +9

    What I didn't quite understand was, why we need to use "use server" if we're already inside of a server component (as all components in Next.js are server components by default, unless you use "use client" at the top of the component). Then I realized that a "server" component doesn't mean it does any actions on the server side - it just gets pre-rendered before being sent to the client.
    I'm building my very first full-stack app and understanding the interactions between frontend, backend and the database is a bit challenging.

    • @AhmadNadeem71
      @AhmadNadeem71 ปีที่แล้ว

      Correct me if 'wrong. Not all components are server components. Only files in app folder are server side I think. But the components folder he created is outside app folder.

  • @soubestre
    @soubestre 7 หลายเดือนก่อน

    Congratulations for your videos, they are amazing for anyone willing to learn webdev !
    Thank you mate !

  • @charlescarvalhodeaguiar87
    @charlescarvalhodeaguiar87 ปีที่แล้ว +1

    You are the best Kyle, thanks for everything!

  • @kamilzowczak3607
    @kamilzowczak3607 ปีที่แล้ว +1

    Yes man, we needed it!

  • @ai_coding
    @ai_coding ปีที่แล้ว +1

    Awesome tutorial. Great explanation on everything 💯

  • @boosboop
    @boosboop หลายเดือนก่อน

    This video was amazing! Thank you so much for the great content and breaking things down the way that you do!

  • @mikemisiura3850
    @mikemisiura3850 ปีที่แล้ว +1

    Thanks for this! I was just searching your past videos for a next tutorial a couple weeks ago. 😊
    I love your teaching style and explanations.

  • @user-kc3ed9ls8c
    @user-kc3ed9ls8c 10 หลายเดือนก่อน +2

    I hope everyone realizes what an incredibly awesome teacher you are. This lesson is so clear, so on point, so perfect I can't thank you enough. My next move is to share this with other developers.

    • @rafatadebanjo9731
      @rafatadebanjo9731 10 หลายเดือนก่อน

      pls where you able to link your prisma. I am having problems with this. It keeps give me errors.can you help?

  • @AissaDev
    @AissaDev 2 หลายเดือนก่อน

    Thank you kyle, best explanation now next one of my favorites frameworks

  • @NathanBudd
    @NathanBudd 11 หลายเดือนก่อน +5

    This is really impressive!
    Looking at Vercel, they don't appear to support sqlite. It would be great if you could do a follow up video to this, showing how you could hook prisma up to something like planetscale.

  • @m1r342b2r
    @m1r342b2r 3 หลายเดือนก่อน

    You explain is very clearly! Thank you so much!

  • @carafachera4781
    @carafachera4781 ปีที่แล้ว

    THANKS IS WHAT I NEEDED RIGHT NOW 💙

  • @lukas.webdev
    @lukas.webdev ปีที่แล้ว

    Awesome Video! Thanks for sharing. 😉🔥

  • @francisboudreau7524
    @francisboudreau7524 ปีที่แล้ว +1

    Love your pace and straight to the point info… would love if you could make same sort of tutorial with next.js msal and apollo😇😇😇 anyway I’ll keep looking forward to your great work👏🏻👏🏻👏🏻

  • @nicolettifps
    @nicolettifps ปีที่แล้ว

    Thank you from brazil, make more this short projects

  • @raniaeljouhari9319
    @raniaeljouhari9319 ปีที่แล้ว +1

    Amazing tutorial, as usual !

  • @johnadriandodge
    @johnadriandodge ปีที่แล้ว

    Jedi K, you are remarkably gifted with an unbelievable amount of Web Technologies!

  • @mahfoudh_arous
    @mahfoudh_arous ปีที่แล้ว +3

    Great Course as usual 🙏 Can you, please, make a course about deployment with Vercel?

  • @ZainRamzan-pt8cm
    @ZainRamzan-pt8cm 8 หลายเดือนก่อน

    O man u done a greate job . You packed so much info in a singal video

  • @user-ku9wm5kg9c
    @user-ku9wm5kg9c ปีที่แล้ว +1

    Thank you for this video. It was very simple and useful 🤖

  • @shubhambagul3127
    @shubhambagul3127 6 หลายเดือนก่อน

    Nice learned in one video now can take a look at those docs Thanks man

  • @gini77oo
    @gini77oo ปีที่แล้ว

    THANK YOU! i hope you keep uploading tutos of CRUD, and deployment... !! THANKS LOT!

  • @MrDragos696
    @MrDragos696 8 หลายเดือนก่อน

    Thank you for this tutorial. I have finished it now. It very cool.

  • @aamirmalik5468
    @aamirmalik5468 ปีที่แล้ว +1

    you r an awesome teacher. keep it up. thank you for so much informative video.

  • @shakiljoy8661
    @shakiljoy8661 11 หลายเดือนก่อน

    Very much helping video. It helps me a lot. Thank you so much.

  • @jnayehsirine6222
    @jnayehsirine6222 8 หลายเดือนก่อน

    Great Explanation , thank you for the contribution

  • @kazettique
    @kazettique 9 หลายเดือนก่อน

    Thanks for this great tutorial about Next 13. I am going to joining the brand new Next.js recently. (Using Nuxt 3 in my job tho)

  • @randygulak9432
    @randygulak9432 ปีที่แล้ว

    Great job on this!

  • @estebanfelipe3980
    @estebanfelipe3980 ปีที่แล้ว +1

    Great video as always! How would you deploy and application like this? I would love a video about it.

  • @DarkMooN-uh1ih
    @DarkMooN-uh1ih ปีที่แล้ว

    thank you for the tutorial, i learnt a lot

  • @mesfinmulgeta6060
    @mesfinmulgeta6060 9 หลายเดือนก่อน

    Thank you BIG brother!

  • @dr__ey
    @dr__ey 10 หลายเดือนก่อน

    awesome video!! :) thanks so much for this explanation

  • @protosssc790
    @protosssc790 ปีที่แล้ว

    Thank you for the hard work to sharing these knowledgeable I’m finally can store something in a DB and fetch it and post it!!!!🎉!!!!!!!!!!!!

  • @trungtranthanh8912
    @trungtranthanh8912 9 หลายเดือนก่อน

    It's a really helpful video. Thank you very much.

  • @bobevskiboban
    @bobevskiboban 6 หลายเดือนก่อน

    ty sir , as always great and simple , salute

  • @noeldolan518
    @noeldolan518 6 หลายเดือนก่อน

    Great tutorial! :)

  • @Deligium
    @Deligium ปีที่แล้ว

    thanks for awesome content!
    good guitars by the way🤘

  • @ikazak
    @ikazak 5 หลายเดือนก่อน

    thanks for the tutorial!

  • @redbutton2002
    @redbutton2002 ปีที่แล้ว

    Thank you verry much for this lesson!

  • @DevCypherYT
    @DevCypherYT 7 หลายเดือนก่อน

    Awesome video 🎉

  • @pakeeranam
    @pakeeranam 11 หลายเดือนก่อน +1

    Thank you very much for the tutorial. Not sure if anyone has noticed that sometimes, new todo doesn't appear in Todo list after redirecting the page. The createSpecial function always adds new todo in psql table but sometimes not showing on the page.

  • @MrVipulLal
    @MrVipulLal 9 หลายเดือนก่อน

    Great video. Many 🙏

  • @rjwhite4424
    @rjwhite4424 ปีที่แล้ว

    dude you are a godsend

  • @filmyguyyt
    @filmyguyyt ปีที่แล้ว

    oh no i was trying to learn and this guy uploaded it

  • @piyushaggarwal5207
    @piyushaggarwal5207 ปีที่แล้ว

    Thanks for the video!

  • @tiendang5149
    @tiendang5149 11 หลายเดือนก่อน

    Very good speed run :D

  • @taunado
    @taunado ปีที่แล้ว

    Excellent, thanks!

  • @haluamen4640
    @haluamen4640 9 หลายเดือนก่อน

    amazing explanation.

  • @Guilherme-yd8zd
    @Guilherme-yd8zd 9 หลายเดือนก่อน

    Amazing tutorial!

  • @andzi5419
    @andzi5419 10 หลายเดือนก่อน

    I liked, commented, scrubscribed. Great content buddy!

  • @sheldonsays9922
    @sheldonsays9922 ปีที่แล้ว +2

    Thanks for this. This was very informational. Just a thought. Could have cut down on explaining the styles.
    And instead covered other things like SSR, ISR and static. Would have been more complete and made this a one stop vid for all the major parts of NextJS 13+.

  • @codewithsaj9270
    @codewithsaj9270 ปีที่แล้ว

    great video. learned a lot

  • @dotpegaso138
    @dotpegaso138 10 หลายเดือนก่อน

    Great video! 🚨Bug alert! Due to Next cache decisions, it's important to add `revalidatePath('/')` inside the toggleTodo function in order to render the task list correctly after going back and forth to the New Task page and the Home page again.

  • @bestteam4805
    @bestteam4805 ปีที่แล้ว

    More react videos please.
    Learn React with this one project
    etc.

  • @imiebaka
    @imiebaka ปีที่แล้ว

    Kyle never disappoints
    Nice one

  • @paras.developer
    @paras.developer ปีที่แล้ว

    this was great video now i don't have to mess with core react state

  • @playman69691
    @playman69691 ปีที่แล้ว +3

    Great tutorial! However, at 29:40 min - shouldn’t ‘getTodos()’ to be an async func with “use server” inside as well as toggleTodo(), since it performs a db query on the sever?

  • @user-rg1yq2vj6o
    @user-rg1yq2vj6o ปีที่แล้ว

    Very helpful with good explanations. Looking to this video : React state management i.e Redux

  • @rohitsiwachroit
    @rohitsiwachroit 11 หลายเดือนก่อน

    Please keep up the great work

  • @pixyoutube538
    @pixyoutube538 11 หลายเดือนก่อน

    Thank you so much bro..

  • @zivtamary
    @zivtamary ปีที่แล้ว +8

    I think it would've been even better if you made the main page client component, and split Todos to a separate server component with skeleton. that way the apps loads fast to the user, and we still get the benefits of ssr

    • @islambn8962
      @islambn8962 7 หลายเดือนก่อน

      but when you add a server component directly to a client component it will be converted to a client component. no?
      or do you mean with suspense

  • @elijahandrew6790
    @elijahandrew6790 ปีที่แล้ว

    THANK YOU, kYLE!!!

  • @user-qg7jz2xb2j
    @user-qg7jz2xb2j 11 หลายเดือนก่อน +3

    Hi mate, I just wanting to ask how node recompiles automatically once that tsx page has changed at 6:16
    For me its not recompiling, even though I saved it. Do you use extensions? Would be nice if you could release the extensions you (probably installed by default) have on your editor.
    Thanks :)

  • @user-tg4qn6ci6r
    @user-tg4qn6ci6r ปีที่แล้ว

    Really nice!!!

  • @Danstrom9252
    @Danstrom9252 ปีที่แล้ว

    Wow Kyle, just wow!

  • @ylvakarlsson3391
    @ylvakarlsson3391 8 หลายเดือนก่อน

    This is just awesome! Love your work Kyle - you have a great skill in being efficient and clear at the same time.
    I tried to create this project but I don't get the "src"-folder in there. Did I miss a step or is that something I need to create manually? I've trained frontend-development over this last spring but using Next.js is new to me.
    Thanks!

    • @vicez_
      @vicez_ 7 หลายเดือนก่อน

      I created a new project using Next and the default option for "Would you like to use 'src/' directory?" was set to No, but in this video, the default is Yes, which he accepts. You probably selected 'No' for that option when you created the project. In my experience, using 'src/' is helpful in organizing your files.

  • @MYM861
    @MYM861 8 หลายเดือนก่อน

    I just decided to try out React / Next.js after reading about v.13, moved from Angular... Im sleeping better, im happier and life is just sunshine and rainbows

  • @RockyWearsAHat
    @RockyWearsAHat 9 หลายเดือนก่อน

    Wonderful tutorial for migrating to next from another language, explains alot about the system and how to use it without being bogged down by absolutely tons of unnecessary and outdated info. One question though? How do you get highlighting/autocomplete on variables that will be written inside of classnames? Like classname={‘${inter.className} …other-styles’}, what is the extension for the highlighting on the first part? I can’t find it

  • @eliuddyn
    @eliuddyn ปีที่แล้ว

    Amazing 🔥🔥

  • @jasar.ayiken
    @jasar.ayiken ปีที่แล้ว

    Thank u! absolutely made my life eaiser~

  • @ThugLifeModafocah
    @ThugLifeModafocah ปีที่แล้ว +1

    If in the new page you are not using the 'use client', then it is a server component. Even so will you need to put 'use server' in the createTodo function? Or is it going to work without it, since the component is a server component as a whole?

  • @philb8032
    @philb8032 ปีที่แล้ว +1

    how have you learned all these things at such a young age? its really quite impressive

  • @danghuy3035
    @danghuy3035 ปีที่แล้ว +1

    Hi Kyle. Thanks for the tutorial. I have a question about the Add New functionality. Its clear that as you put it to a new page, and redirect after mutation which will trigger fetch func on Todos page. What if I have Add New as a modal, and no redirection is needed, how to refetch the data? thanks ahead for helping.

  • @pixels7223
    @pixels7223 ปีที่แล้ว

    you saved me, thank you.

  • @extrempty
    @extrempty ปีที่แล้ว

    that was so cool

  • @user-sh4ep3ic8o
    @user-sh4ep3ic8o ปีที่แล้ว +1

    So, instead of using prisma, can it run graphql queries and mutations? would it be different or pretty much the same as your prisma example?

  • @bahibrahim101
    @bahibrahim101 7 หลายเดือนก่อน

    Kyle's tutorials are the only ones in youtube that I don't dare watch on speedX2

  • @mrunderson983
    @mrunderson983 10 หลายเดือนก่อน

    cool guitars)

  • @nyzss
    @nyzss ปีที่แล้ว +1

    love ur vids