Learn Next.js 13 With This One Project

Sdílet
Vložit
  • čas přidán 7. 06. 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

Komentáře • 435

  • @CleverProgrammer
    @CleverProgrammer Před 10 měsíci +58

    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!

  • @joak-web
    @joak-web Před rokem +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 Před rokem +2

      This video has a 1.2x speed or something

    • @Beny123
      @Beny123 Před rokem +1

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

    • @nushydude
      @nushydude Před 6 měsíci

      Helps when one can type fast 😊

  • @codeofcodedotorg
    @codeofcodedotorg Před rokem +444

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

  • @chantalchen1908
    @chantalchen1908 Před 11 měsíci +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 Před 11 měsíci +4

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

  • @urnan7499
    @urnan7499 Před rokem +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.

  • @keithlamontdavis8047
    @keithlamontdavis8047 Před 9 měsíci +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!

  • @orashusedmund7675
    @orashusedmund7675 Před rokem +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 Před rokem +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 Před rokem +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 Před rokem

      @@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 Před rokem

      ​@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 Před 8 měsíci +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

  • @2trcvgb
    @2trcvgb Před rokem

    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

  • @kanishkart9923
    @kanishkart9923 Před rokem +6

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

  • @spencerhepworth
    @spencerhepworth Před rokem +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 Před 11 měsíci +4

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

    • @miervaldis42
      @miervaldis42 Před 11 měsíci +3

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

    • @ohmygoodness6773
      @ohmygoodness6773 Před 10 měsíci +1

      Well, for his example it's not really important

    • @GhostkillerPlaysMC
      @GhostkillerPlaysMC Před 10 měsíci

      @@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 Před 10 měsíci

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

  • @eliyahutarab4862
    @eliyahutarab4862 Před rokem +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

  • @virgoeun
    @virgoeun Před 7 měsíci

    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 !!!!!

  • @faizbyp
    @faizbyp Před rokem +1

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

  • @diegovalencr
    @diegovalencr Před rokem +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!

  • @joss8558
    @joss8558 Před rokem +1

    Great tutorial, concise and fast, covered a lot.

  • @avelinecash
    @avelinecash Před rokem +5

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

  • @AliAliOxenFree
    @AliAliOxenFree Před rokem +2

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

  • @AmandaGxagxa
    @AmandaGxagxa Před rokem +1

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

  • @soubestre
    @soubestre Před 7 měsíci

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

  • @user-kc3ed9ls8c
    @user-kc3ed9ls8c Před 10 měsíci +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 Před 9 měsíci

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

  • @charlescarvalhodeaguiar87

    You are the best Kyle, thanks for everything!

  • @ai_coding
    @ai_coding Před rokem +1

    Awesome tutorial. Great explanation on everything 💯

  • @johnadriandodge
    @johnadriandodge Před rokem

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

  • @francisboudreau7524
    @francisboudreau7524 Před rokem +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👏🏻👏🏻👏🏻

  • @NathanBudd
    @NathanBudd Před 10 měsíci +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.

  • @mikemisiura3850
    @mikemisiura3850 Před rokem +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.

  • @raniaeljouhari9319
    @raniaeljouhari9319 Před rokem +1

    Amazing tutorial, as usual !

  • @kamilzowczak3607
    @kamilzowczak3607 Před rokem +1

    Yes man, we needed it!

  • @boosboop
    @boosboop Před 13 dny

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

  • @user-ku9wm5kg9c
    @user-ku9wm5kg9c Před rokem +1

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

  • @aamirmalik5468
    @aamirmalik5468 Před 11 měsíci +1

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

  • @nicolettifps
    @nicolettifps Před rokem

    Thank you from brazil, make more this short projects

  • @gini77oo
    @gini77oo Před rokem

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

  • @carafachera4781
    @carafachera4781 Před rokem

    THANKS IS WHAT I NEEDED RIGHT NOW 💙

  • @shubhambagul3127
    @shubhambagul3127 Před 5 měsíci

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

  • @AissaDev
    @AissaDev Před 2 měsíci

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

  • @mahfoudh_arous
    @mahfoudh_arous Před rokem +3

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

  • @MrDragos696
    @MrDragos696 Před 8 měsíci

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

  • @shakiljoy8661
    @shakiljoy8661 Před 11 měsíci

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

  • @lukas.webdev
    @lukas.webdev Před rokem

    Awesome Video! Thanks for sharing. 😉🔥

  • @kazettique
    @kazettique Před 9 měsíci

    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)

  • @m1r342b2r
    @m1r342b2r Před 3 měsíci

    You explain is very clearly! Thank you so much!

  • @ZainRamzan-pt8cm
    @ZainRamzan-pt8cm Před 7 měsíci

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

  • @jnayehsirine6222
    @jnayehsirine6222 Před 7 měsíci

    Great Explanation , thank you for the contribution

  • @natbud7987
    @natbud7987 Před rokem +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 Před rokem

      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.

  • @dr__ey
    @dr__ey Před 9 měsíci

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

  • @trungtranthanh8912
    @trungtranthanh8912 Před 8 měsíci

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

  • @protosssc790
    @protosssc790 Před rokem

    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!!!!🎉!!!!!!!!!!!!

  • @DarkMooN-uh1ih
    @DarkMooN-uh1ih Před rokem

    thank you for the tutorial, i learnt a lot

  • @randygulak9432
    @randygulak9432 Před rokem

    Great job on this!

  • @pakeeranam
    @pakeeranam Před 10 měsíci +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.

  • @Deligium
    @Deligium Před rokem

    thanks for awesome content!
    good guitars by the way🤘

  • @estebanfelipe3980
    @estebanfelipe3980 Před rokem +1

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

  • @filmyguyyt
    @filmyguyyt Před rokem

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

  • @tiendang5149
    @tiendang5149 Před 10 měsíci

    Very good speed run :D

  • @redbutton2002
    @redbutton2002 Před 11 měsíci

    Thank you verry much for this lesson!

  • @piyushaggarwal5207
    @piyushaggarwal5207 Před rokem

    Thanks for the video!

  • @taunado
    @taunado Před rokem

    Excellent, thanks!

  • @Guilherme-yd8zd
    @Guilherme-yd8zd Před 9 měsíci

    Amazing tutorial!

  • @sheldonsays9922
    @sheldonsays9922 Před rokem +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+.

  • @user-qg7jz2xb2j
    @user-qg7jz2xb2j Před 11 měsíci +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 :)

  • @playman69691
    @playman69691 Před 11 měsíci +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?

  • @ikazak
    @ikazak Před 4 měsíci

    thanks for the tutorial!

  • @codewithsaj9270
    @codewithsaj9270 Před 11 měsíci

    great video. learned a lot

  • @bobevskiboban
    @bobevskiboban Před 5 měsíci

    ty sir , as always great and simple , salute

  • @andzi5419
    @andzi5419 Před 10 měsíci

    I liked, commented, scrubscribed. Great content buddy!

  • @mesfinmulgeta6060
    @mesfinmulgeta6060 Před 8 měsíci

    Thank you BIG brother!

  • @noeldolan518
    @noeldolan518 Před 6 měsíci

    Great tutorial! :)

  • @bestteam4805
    @bestteam4805 Před rokem

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

  • @imiebaka
    @imiebaka Před rokem

    Kyle never disappoints
    Nice one

  • @paras.developer
    @paras.developer Před rokem

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

  • @haluamen4640
    @haluamen4640 Před 9 měsíci

    amazing explanation.

  • @RockyWearsAHat
    @RockyWearsAHat Před 9 měsíci

    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

  • @ThugLifeModafocah
    @ThugLifeModafocah Před rokem +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?

  • @DevCypherYT
    @DevCypherYT Před 6 měsíci

    Awesome video 🎉

  • @rjwhite4424
    @rjwhite4424 Před rokem

    dude you are a godsend

  • @user-sh4ep3ic8o
    @user-sh4ep3ic8o Před rokem +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?

  • @MrVipulLal
    @MrVipulLal Před 8 měsíci

    Great video. Many 🙏

  • @rohitsiwachroit
    @rohitsiwachroit Před 10 měsíci

    Please keep up the great work

  • @ylvakarlsson3391
    @ylvakarlsson3391 Před 7 měsíci

    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_ Před 6 měsíci

      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.

  • @user-rg1yq2vj6o
    @user-rg1yq2vj6o Před rokem

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

  • @danghuy3035
    @danghuy3035 Před rokem +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.

  • @dotpegaso138
    @dotpegaso138 Před 9 měsíci

    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.

  • @zivtamary
    @zivtamary Před rokem +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 Před 6 měsíci

      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

  • @pixels7223
    @pixels7223 Před 11 měsíci

    you saved me, thank you.

  • @pixyoutube538
    @pixyoutube538 Před 11 měsíci

    Thank you so much bro..

  • @philb8032
    @philb8032 Před 11 měsíci +1

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

  • @Danstrom9252
    @Danstrom9252 Před rokem

    Wow Kyle, just wow!

  • @jasar.ayiken
    @jasar.ayiken Před 11 měsíci

    Thank u! absolutely made my life eaiser~

  • @anatolijignatyo2308
    @anatolijignatyo2308 Před 7 měsíci

    Hi Kyle, could you please share with me the list of extension what you use in VSC, or just that which shows that good hints when you typing class names, attributes etc?

  • @ludame
    @ludame Před 11 měsíci +3

    Thanks for the tutorial I found it helpful. Would of been nice if you added a delete option to round things off but I will give it ago which should cement my knowledge

    • @sayaksengupta4335
      @sayaksengupta4335 Před 10 měsíci

      async function deleteTodo(id:string) {
      "use server"
      await prisma.todo.delete({ where: {id}})
      }
      add this in the TodoItem component, it should work.

    • @SamK329
      @SamK329 Před 6 měsíci

      @@sayaksengupta4335 I tried doing that but the problem I ran into is that doesn't actually update the UI until I do a page refresh

    • @TheRealAstro_
      @TheRealAstro_ Před 4 měsíci

      @@sayaksengupta4335 I know this is months old but I'm pretty sure this doesn't work because you can't use a server component inside a client component. Because TodoItem is a client component you would need to add this function in the main page instead, and then pass it down to TodoItem (just like toggleTodo)

  • @varangianventure
    @varangianventure Před rokem

    When NextJS14 comes I'd love a proper course. ;-)

  • @eliuddyn
    @eliuddyn Před 11 měsíci

    Amazing 🔥🔥

  • @cameronratliff8441
    @cameronratliff8441 Před rokem +1

    we have nest js backend and are looking to move to next js on the front end (from CRA). Server components seem really cool and powerful, but I am trying to wrap my head around how they can be used with an API and without bypassing guards. Any tips?

  • @noname-oo3xr
    @noname-oo3xr Před 9 měsíci +1

    Hi Kyle, many thanks for your great content, I followed your JS and React courses and I m looking forward for you to release a Next course.
    I m struggling for now with the next 13 app router, I can not get any client component to work out properly, I have no user interactivity. Is next 13 app router unstable and flaky ?... I don t see anything I missed following your tutorial, but can t make it work.

  • @user-tg4qn6ci6r
    @user-tg4qn6ci6r Před rokem

    Really nice!!!

  • @elijahandrew6790
    @elijahandrew6790 Před rokem

    THANK YOU, kYLE!!!