Refactoring a React Component (Design Patterns)

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 47

  • @jaimishtrivedi392
    @jaimishtrivedi392 3 місяці тому +17

    In the last... The TextInput component you were using were actually wrapped inside div, and if you pass className 50% to input, you would get the half width of that div, previously you were directly using inputs inside parent div, you have to give 50% width to align those two inputs. But now you don't need it, or you have to provide full width 👍

  • @rodicabalan6565
    @rodicabalan6565 3 місяці тому +5

    We need more refactoring videos! Thanks for the effort❤

  • @MickDavies
    @MickDavies 3 місяці тому +4

    Coming from Vue since 2017 and having to upskill in React this year for work, loving your tutorials! The tempo is perfect for me and learned a few new tricks such as the ComponentProps and just love watching how others refactor, it's sped up my React journey learning this way.

    • @teknolovedigital
      @teknolovedigital 3 місяці тому

      Why you switch from vue to react?

    • @MickDavies
      @MickDavies 3 місяці тому

      @@teknolovedigital companies and that was the new tech stack. Nextjs + react. Good to learn new stuff, Vue is superior but I feel confident in both now which is always good for job prospects. I've been doing this for a while now... 15 odd years

  • @farrelbatykouima7494
    @farrelbatykouima7494 Місяць тому

    We need more videos like that one!

  • @danieldefoe2981
    @danieldefoe2981 3 місяці тому +3

    Hi, Cosden, thank you for your videos. I want to point out that in 10:05 you should've used a generic instead of any. Just make your component a generic component and pass generic value to the Props

  • @SK_Covers
    @SK_Covers 3 місяці тому +1

    Broo ❤❤❤
    Just watched your React hook form + zod video. Very clear very concise, very understanding, straight to the point.
    At last it's very very beginner friendly 💯😎🔥
    Love from India ❤

  • @dr_jacko
    @dr_jacko 3 місяці тому +5

    1 minor niggle with this is that your TextInput is closely coupled with react-hook-form. If I were approaching this, I would either create a TextInput with more generic handlers and values and pass in the relevant functions and values or rename the component to RhfTextInput or similar.

    • @cosdensolutions
      @cosdensolutions  3 місяці тому +1

      Fair, I found myself rarely needing a text input without an attached form in a project, but if you do then yeah definitely

    • @TannerBarcelos
      @TannerBarcelos 3 місяці тому

      @@cosdensolutionsgreat counterpoint. When I take a step back and think about it, all of my inputs in the products I work on are in a form for proper semantic html, so I’d use this approach as well.
      It would also enforce consistency in the codebase by forcing others to not only use the reusable component, but always remember to rely on RHF wherever they need to build features that require text inputs.
      QQ: Have you looked into Tanstack Form? It looks amazing but I’ve yet to try it as it’s not production ready. Once it is, I want to migrate off basic forms and inputs in my product at work to use TSF. (I don’t even use RHF now because of this exact reason; I want to use TSF and don’t want to do 2 refactors so I decided to not use a form library at all up front)

  • @MattElisa97
    @MattElisa97 3 місяці тому

    I love this style of code refactoring video. Just a tiny bit slower and it would be perfect. But I love it !! thanks

  • @royangagas2519
    @royangagas2519 3 місяці тому +1

    Very clear explanation, I love it

  • @nikawuladze953
    @nikawuladze953 3 місяці тому +1

    This type of videos are sk useful. Ty for that ❤ .

  • @tomvj15
    @tomvj15 3 місяці тому +2

    Your videos are very easy to understand I like your way of Teaching and I would like to enroll your "Project React" course, I am from India right now i don't have a full amount for this course did I get any coupon code from your "Cosden Solution" it will help me lot , Thanks for providing a wonderful content about
    React keep rocking....!

  • @ericng3673
    @ericng3673 3 місяці тому +2

    Instead of passing control, usually I prefer using useFormContext and add a FormProvider. This doesn't work well if you have multiple forms components as siblings though. Performance wise I am not sure if it is optimized as well

  • @RonnieDenzel
    @RonnieDenzel 3 місяці тому +2

    I think the red squiggly lines coming from accessing the name key in the errors object is due to the key being a defined value and not the key itself,so typescript throws an expected error as it has no idea such a key is defined or exists
    However,the JS works fine as the functionality is the same,so to tackle this i usually assert the value to a type,but i didnt know you can get the tostring value of it😂

  • @spizer98
    @spizer98 3 місяці тому +1

    wooooooow amazing content, expecting more on future❤

  • @jorgevillafraz2656
    @jorgevillafraz2656 3 місяці тому +2

    Excellent video 🎉

  • @lupaco26
    @lupaco26 3 місяці тому +1

    That's great my friend!

  • @ptolemyhenson6838
    @ptolemyhenson6838 3 місяці тому +4

    Doesn't React Hook Form have a hook specifically made for handling arrays (something like "useFieldArray" if I remember right)? I thought this tutorial would include that.

    • @cosdensolutions
      @cosdensolutions  3 місяці тому +1

      ahh it does, didn't know about it until now. thanks!

  • @brNoMundo123
    @brNoMundo123 3 місяці тому

    Great video! Thank you ❤

  • @alenomer3968
    @alenomer3968 3 місяці тому +1

    Nice video again 👏👍

  • @gauravbawa5609
    @gauravbawa5609 3 місяці тому +2

    @codesen I tried to subscribe for your newsletter however, it keep showing alert for error.

  • @OO-jm5qq
    @OO-jm5qq 28 днів тому

    這部影片太他媽的讚了

  • @0GERA0
    @0GERA0 3 місяці тому

    would you recommend zustand instead of redux? why, would you make a video of differents state managements (Y), thanks

  • @ajiteshmishra0005
    @ajiteshmishra0005 3 місяці тому

    Can you create an exclusive video on Design Pattern required for ReactJS Developer for developing UI with efficient working.

  • @garudaputro
    @garudaputro Місяць тому

    Would you please make video about S.O.L.I.D pricple in react it's will be useful for us to be more profesional 😁

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 3 місяці тому

    Good stuff, a like and sub!

  • @kalideb-y3y
    @kalideb-y3y 3 місяці тому

    should I not use "any" in typescript no matter what? for example in real world project

  • @jason.zubiate
    @jason.zubiate 3 місяці тому

    whats the shortcut extension

  • @griffin955
    @griffin955 3 місяці тому +2

    Hi, what VSCode extensions are you currently using for your tsx files to infer the remainder of the line you're writing so you an autocomplete it?

    • @ptolemyhenson6838
      @ptolemyhenson6838 3 місяці тому +1

      I'm pretty sure that's GitHub Copilot.

    • @griffin955
      @griffin955 3 місяці тому

      @@ptolemyhenson6838 So he is using Copilot during his video tutorials?

    • @usman_ghanni
      @usman_ghanni 3 місяці тому +1

      he mentioned somewhere "CoPilot" here at 15:27

  • @justin9494
    @justin9494 3 місяці тому

    thanksssssss

  • @shahwaizkarim-h9z
    @shahwaizkarim-h9z 22 дні тому

    what would happen if we have passed register as a prop instead of control. like {...register(name)}.

  • @n00berdoober
    @n00berdoober 3 місяці тому

    Can you please tell, which extension you used for "rjfcp" snippet at 8:40 ? I can't find it in marketplace

    • @cosdensolutions
      @cosdensolutions  3 місяці тому +1

      my own custom snipper, check out my vscode setup video!

    • @n00berdoober
      @n00berdoober 3 місяці тому

      @@cosdensolutions Awesome ❤

  • @matchu-pitchu
    @matchu-pitchu 3 місяці тому

    The fallback empty array for the deps parameter of useKeyDown is not a good idea. Because if no deps are provided, then for every re-render a new empty array as fallback is recreated and the useEffect is unnecessarily executed.

    • @cosdensolutions
      @cosdensolutions  3 місяці тому +1

      Passing an empty array to useEffect doesn't cause it to re-render! It will then just run once since it has no deps. If you pass nothing at all, then it runs every render

    • @matchu-pitchu
      @matchu-pitchu 3 місяці тому

      @@cosdensolutions You are right. I looked at it wrong, I thought you were going to use `[deps]`, then it would have been a problem.

  • @HolySl0w
    @HolySl0w 3 місяці тому

    Great video, love it. paced right
    but i wanna be _THAT GUY_ ...
    i don't think there are any design pattern in this video. There are best practices, SOLID principles, dependency injection but no design pattern :(
    that was too much of a clickbait with "the cool word cool coders say" to me.
    but again... good video, good infos, good stuff.

    • @cosdensolutions
      @cosdensolutions  3 місяці тому +2

      Honestly, if you do a quick Google for design patterns, stuff like this comes up. I'd put SOLID principles in that too since it affects how you structure your project and components/hooks. I don't think there is one definition of design patterns in React otherwise I would've done exactly that 😁

  • @lokeshkavisth
    @lokeshkavisth 3 місяці тому

    First😍