Learn Next.js 13 With This One Project

Поделиться
HTML-код
  • Опубликовано: 25 ноя 2024

Комментарии • 436

  • @CleverProgrammer
    @CleverProgrammer Год назад +62

    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 Год назад +472

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

  • @joak-web
    @joak-web Год назад +102

    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 Год назад +3

      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 Год назад

      Helps when one can type fast 😊

  • @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 Год назад +1

      Well, for his example it's not really important

    • @GhostkillerPlaysMC
      @GhostkillerPlaysMC Год назад

      @@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 Год назад

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

  • @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

  • @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

  • @r34ct4
    @r34ct4 Год назад +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

  • @natbud7987
    @natbud7987 Год назад +10

    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.

  • @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.

  • @chillwavefrequency8108
    @chillwavefrequency8108 Год назад +4

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

  • @chantalchen1908
    @chantalchen1908 Год назад +4

    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!

  • @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

  • @keithlamontdavis8047
    @keithlamontdavis8047 Год назад +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!

  • @MYM861
    @MYM861 Год назад

    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

  • @AliAliOxenFree
    @AliAliOxenFree Год назад +2

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

  • @WilliamSelznick-OIT
    @WilliamSelznick-OIT Год назад +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 Год назад

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

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

  • @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 Год назад

      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

  • @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+.

  • @kanishkart9923
    @kanishkart9923 Год назад +6

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

  • @NathanBudd
    @NathanBudd Год назад +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.

  • @kazettique
    @kazettique Год назад

    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)

  • @pakeeranam
    @pakeeranam Год назад +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.

  • @dotpegaso138
    @dotpegaso138 Год назад

    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.

  • @soubestre
    @soubestre Год назад

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

  • @ludame
    @ludame Год назад +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 Год назад

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

    • @SamK329
      @SamK329 Год назад

      @@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_ 10 месяцев назад

      @@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)

  • @johnadriandodge
    @johnadriandodge Год назад

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

  • @shubhambagul3127
    @shubhambagul3127 11 месяцев назад

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

  • @AissaDev
    @AissaDev 8 месяцев назад

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

  • @boosboop
    @boosboop 6 месяцев назад

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

  • @AmandaGxagxa
    @AmandaGxagxa Год назад +1

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

  • @mahfoudh_arous
    @mahfoudh_arous Год назад +3

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

  • @joss8558
    @joss8558 Год назад +1

    Great tutorial, concise and fast, covered a lot.

  • @tonykharioki6913
    @tonykharioki6913 Год назад +1

    if you're having an error with redirect, you can use a variable for create function i.e
    const res = await prisma.todo.create({ data: { title, complete: false } })
    if (res) {
    redirect('..')
    }

    • @mikhacavin
      @mikhacavin Год назад +1

      thanks a lot man, it works

  • @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.

  • @philb8032
    @philb8032 Год назад +1

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

  • @ronaldronald8819
    @ronaldronald8819 4 месяца назад

    I like this. Tanks for the upload. it is getting me up to speed fast 🙂

  • @bahibrahim101
    @bahibrahim101 Год назад

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

  • @MrDragos696
    @MrDragos696 Год назад

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

  • @gini77oo
    @gini77oo Год назад

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

  • @stacked-dev
    @stacked-dev Год назад

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

  • @bmehder
    @bmehder Год назад +3

    NextJS looks really similar to SvelteKit with the file based routing. I wish there was a meta framework that handled SSR, CSR, SSG, and allowed developers to use their choice of components (i.e., Solid, React, Vue, Svelte, etc.)

    • @itanio
      @itanio Год назад

      Are you a fan of Astro? It's probably headed that direction.

    • @bmehder
      @bmehder Год назад

      @@itanio I do like Astro, but it is primarily for static sites if I understand correctly. I also like Svelte's stores, and I am not sure if that works with Astro.

    • @8koi245
      @8koi245 Год назад

      I think you are referring to islands, not even sure if I got the name right tho, Blue collar coder has a couple of videos on that

  • @m1r342b2r
    @m1r342b2r 8 месяцев назад

    You explain is very clearly! Thank you so much!

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

  • @charlescarvalhodeaguiar87
    @charlescarvalhodeaguiar87 Год назад +1

    You are the best Kyle, thanks for everything!

  • @nicolettifps
    @nicolettifps Год назад

    Thank you from brazil, make more this short projects

  • @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👏🏻👏🏻👏🏻

  • @kamilzowczak3607
    @kamilzowczak3607 Год назад +1

    Yes man, we needed it!

  • @paras.developer
    @paras.developer Год назад

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

  • @shakiljoy8661
    @shakiljoy8661 Год назад

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

  • @benwhite2795
    @benwhite2795 Год назад +1

    18:48 when you say you're going to copy in classNames but the classNames that you past in for the input box don't match the classNames on any other component, and you cut the video without showing what you're copying, people are going to go crazy trying to figure out where you are copying from and never find it.

  • @eltonvilanculo5452
    @eltonvilanculo5452 Год назад

    Awesome 👏 👏 👏 , however i didn’t manage to update Todo in real time after creation

  • @rjwhite4424
    @rjwhite4424 Год назад

    dude you are a godsend

  • @DanielZheng-lf9yt
    @DanielZheng-lf9yt Год назад +1

    Run into a tricky problem. After creating a new todo, the new todo doesn't show up. But the project downloaded from your repository works fine.

    • @DanielZheng-lf9yt
      @DanielZheng-lf9yt Год назад +2

      solve it by add "revalidatePath('/')" before "redirect("/")"

  • @filmyguyyt
    @filmyguyyt Год назад

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

  • @jnayehsirine6222
    @jnayehsirine6222 Год назад

    Great Explanation , thank you for the contribution

  • @trungtranthanh8912
    @trungtranthanh8912 Год назад

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

  • @СергейАмпилов-я3н
    @СергейАмпилов-я3н Год назад +1

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

  • @ai_coding
    @ai_coding Год назад +1

    Awesome tutorial. Great explanation on everything 💯

  • @dr__ey
    @dr__ey Год назад

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

  • @carafachera4781
    @carafachera4781 Год назад

    THANKS IS WHAT I NEEDED RIGHT NOW 💙

  • @bobevskiboban
    @bobevskiboban 11 месяцев назад

    ty sir , as always great and simple , salute

  • @estebanfelipe3980
    @estebanfelipe3980 Год назад +1

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

  • @mesfinmulgeta6060
    @mesfinmulgeta6060 Год назад

    Thank you BIG brother!

  • @Guilherme-yd8zd
    @Guilherme-yd8zd Год назад

    Amazing tutorial!

  • @redbutton2002
    @redbutton2002 Год назад

    Thank you verry much for this lesson!

  • @bestteam4805
    @bestteam4805 Год назад

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

  • @aamirmalik5468
    @aamirmalik5468 Год назад +1

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

  • @ikazak
    @ikazak 10 месяцев назад

    thanks for the tutorial!

  • @kevins7621
    @kevins7621 Год назад

    What happens if adding new items and todo listings are on the same page? How to update user input simultaneously after user adding it. Good video btw~!

  • @raniaeljouhari9319
    @raniaeljouhari9319 Год назад +1

    Amazing tutorial, as usual !

  • @ASTech-w5f
    @ASTech-w5f Год назад

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

  • @haluamen4640
    @haluamen4640 Год назад

    amazing explanation.

  • @piyushaggarwal5207
    @piyushaggarwal5207 Год назад

    Thanks for the video!

  • @naman_dw
    @naman_dw Год назад +10

    Next 13.4 is too confusing for me as of now. it seemed straight forward until I actually started a project with it and nothing was working as expected. for e.g. everywhere in the docs it says that 'use client' means the component will be rendered only on client, but logs of components marked with 'use client' are also being logged on server. Using it with Supabase pre built Auth UI, the styles are taking some time to load, so on first load unstyled component is being displayed, looking very ugly. And then there is the N+1 problem fetching data in server components. I think I prefer the old Next JS with TRPC. Will stick with it for now. If anyone has answer to the questions I have above then please help me out. Thanks

    • @blazi_0
      @blazi_0 Год назад

      Client components are rendered in user browser using JavaScript
      Server components are rendered in the server and results sent to user device
      When u use server component it's npm packages are actually not sent to the user browser but in client it's sent
      When u use "use client" that means it's now client component and u can use states and other JavaScript apis that are only available in the client components

    • @blazi_0
      @blazi_0 Год назад

      For the css loading thing i encourage u to use some kind of loading state for that client component, wait until the component loads with it's css then render it

    • @daleryanaldover6545
      @daleryanaldover6545 Год назад

      next13 client and server actions have nothing to do with N+1 sql calls AFAIK, you have to fix/optimize the queries you are making to the database.

    • @naman_dw
      @naman_dw Год назад

      @@blazi_0 Thanks. But why are 'use client' components console logging on the server as well? Shouldn't their console logs only be seen in the browser?

    • @hafsahayathh
      @hafsahayathh Год назад

      @@naman_dw if the client component is inside a server component, the client component is still rendered on the server but it ships javascript to the client (as opposed to server components - they don’t send any javascript to the client). I hope that clarifies your confusion

  • @RockyWearsAHat
    @RockyWearsAHat Год назад

    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

  • @DevCypherYT
    @DevCypherYT Год назад

    Awesome video 🎉

  • @Deligium
    @Deligium Год назад

    thanks for awesome content!
    good guitars by the way🤘

  • @alvarobyrne
    @alvarobyrne Год назад

    ty

  • @spongebob93lover
    @spongebob93lover Год назад

    hi, would love to see a video about nextjs 13 with state management, using SWR

  • @MrVipulLal
    @MrVipulLal Год назад

    Great video. Many 🙏

  • @wecharg
    @wecharg Год назад

    Really cool! Imagine what you could do with impossibly low fees and this structure?

  • @SilvestreVivo
    @SilvestreVivo Год назад

    It is very interesting to see how NextJs is adopting things from SvelteKit.

  • @Danstrom9252
    @Danstrom9252 Год назад

    Wow Kyle, just wow!

  • @noeldolan518
    @noeldolan518 11 месяцев назад

    Great tutorial! :)

  • @bonnes04
    @bonnes04 Год назад

    Great content as always.
    I think this title doesn't do justest to what you did in this video.

  • @elijahandrew6790
    @elijahandrew6790 Год назад

    THANK YOU, kYLE!!!

  • @pixyoutube538
    @pixyoutube538 Год назад

    Thank you so much bro..

  • @suti1979
    @suti1979 Год назад +3

    Great video, but I think it's missing one important part. What if we delete a todo? How should the (todo items) state mutate then?

    • @seojungood
      @seojungood Год назад

      on the await prisma.todo.change({where: {id} data: complete}) line just change it to await prisma.todo.delete({where: {id}})

    • @suti1979
      @suti1979 Год назад

      @@seojungood i know how to use prisma, the question was abaout the state change, since prisma "runs on the server"...

    • @TheRealAstro_
      @TheRealAstro_ 10 месяцев назад

      Did u ever work this out?

    • @suti1979
      @suti1979 10 месяцев назад

      @@TheRealAstro_ yepp , revalidatePath()

  • @trongnhantran7330
    @trongnhantran7330 2 месяца назад

    Nice video man

  • @syedhaider0916
    @syedhaider0916 Год назад +2

    Nice work, you told in this video that we can’t use the redirect from next js in the toggleTodo server action but you used redirect in createTodo server action. Both are server actions but in one you told us that we can’t use redirect and in the other you yourself used the redirect what the difference please clarify.

    • @mihai10stoica
      @mihai10stoica Год назад +1

      You can use it in form actions. If you were to call the function directly (like on button click) it would give you an error.

    • @howardwu4653
      @howardwu4653 Год назад

      @@mihai10stoica why is that? I have been trying to make a delete button for this but stucked for hours already

  • @codewithsaj9270
    @codewithsaj9270 Год назад

    great video. learned a lot

  • @DarkMooN-uh1ih
    @DarkMooN-uh1ih Год назад

    thank you for the tutorial, i learnt a lot

  • @taunado
    @taunado Год назад

    Excellent, thanks!

  • @Smarteez83
    @Smarteez83 Год назад

    These "use server" and "use client" are crazy ! Next, how to deploy ?

  • @tiendang5149
    @tiendang5149 Год назад

    Very good speed run :D

  • @randygulak9432
    @randygulak9432 Год назад

    Great job on this!