Multi Step Form With React & Material UI

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

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

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

    I am a dev from South Africa and my career would not be where it is today if I have never found this channel. I relate with you more than most youTubers. Thanks for all your hard work and dedication to your viewer and follwers. Great things are still coming your way.

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

      Hi im also from SA! hahaha

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

      Hey, i am also a dev from S.A well beginning, mostly in react. Hoping to get the most out of this channel as well

    • @ispatza
      @ispatza 5 ปีที่แล้ว

      @@sefean how far are you now, learning React...

    • @sefean
      @sefean 5 ปีที่แล้ว

      @@ispatza i have been learning for like 4 months now, i did a github finder lesson following the tutorial, now i have been doing another one on my own, trying to find a community of react developers in S. A as well, to get help on some things, because i get stuck some places and it takes sooo long to get a solution. How about you?

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

      @@sefean I started learning react late November 2019.i bought a course on Udemy by traverse Media and I'm also using a combination of TH-cam, stack overflow,freecode-camp, GitHub for when I get stuck...it took little more time for me to grab it's syntax..to see how it really works...l think I will be creating my first app this week...though challenging I'm enjoying react...... I think I like it more than javasript in a way....
      Man,you can say it again learning this stuff on your own can be really challenging and frustrating...
      sometimes you get stuck on one problem for a days with no one to help you and you feel like giving up.....though not enough stark overflow and just googling, freecode-camp and some TH-cam has been very helpful...
      And I'm also isolated because I stay in Limpopo but i will be moving to Pretoria between next month an March......

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

    you could also make your handleChange function so that it doesn't have to take an input paramtere
    change = e => {
    this.setState({
    [e.target.name]: e.target.value
    });
    }
    so then in your TextFields
    you'd have
    name='email'
    onChange={handleChange}
    for all of them, no need to be explicit about what text field gets changed, as the name prop already states that
    (this works for normal elements, probs should work for the material ui TextField too)

    • @iurii7752
      @iurii7752 6 ปีที่แล้ว

      awesome

    • @md.akib5124
      @md.akib5124 6 ปีที่แล้ว +1

      I saw this before here in this video of Brad's th-cam.com/video/dzOrUmK4Qyw/w-d-xo.html

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

      I like your suggestion. [e.target.name] makes usages of [ ] far less confusing.

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

      Wish I would've seen this (comment) before, lol. I took about 2 days to learn what a Curried Function was, that he was using for handleChange (the double arrow function, or Curried Function). But hell, I learned something new!

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

      @@Colstonewall Bummer! And I thought that curried function is the one written by an H1B.

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

    Even before the 4 minute mark, i was very impressed on how you explained this as well as show it visually in the component tree along with listing the methods being used. Seeing this visually makes a world of difference when it comes to seeing how this all works, bravo sir!

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

    Just want to say that I so appreciate your channel! I started out not knowing anything about web development and began teaching myself at the beginning of the year. Most of my learning process I've been watching your videos and doing my own side projects. It feels so good to be at the point where I can learn React. Thanks for all you do & I look forward to learning more and growing my budding freelancing career.

  • @hrafaelveloso
    @hrafaelveloso 6 ปีที่แล้ว

    That's the biggest coincidence I had! I just finished building my API to do one user registration using one multi-step form, and now I was building my frontend with React and MaterialUI, and then I received this notification. Just amazing!!!

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

    I have watched your react crash course (amazing tutorial) and now I am just watching everyone of your react videos in the React Projects playlist

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

    Thanks to you, my comprehension to Material UI with ReactJS has fulfiled, now I am able to build ReactJS Projects with beautiful design quickly. Thank you so much Brad

  • @madhusudhananpadhmanaban7401
    @madhusudhananpadhmanaban7401 6 ปีที่แล้ว

    One of the best TH-cam tutor I have ever seen. Your videos on almost all technologies are awesome. Thanks a lot

  • @jimmyvasquez7980
    @jimmyvasquez7980 4 ปีที่แล้ว

    Thanks! You saved my life, You helped me to understant the logic between Parent and child, so I could finish the project using your logic and the Material UI Stepper

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

    I wish this guy is my teacher where I study now. Perfect!

  • @hoeangeru2
    @hoeangeru2 5 ปีที่แล้ว

    I'm developer from Central América (El Salvador) i'm student too, thank you very much for this video is gold.

  • @sixft-guy
    @sixft-guy 4 ปีที่แล้ว

    Thank you so much. I followed all the steps and the project ran really well. You have helped me a lot. You're awesome. Keep up this good work for tutoring.
    Have a lovely day!

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

    Traversy is actually the best teacher on the TH-cam, God bless your hard work in Jesus name.

  • @ayberkyigit4795
    @ayberkyigit4795 5 ปีที่แล้ว

    you can't imagine how I am grateful for such tutorials man you are god sent.

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

    I put my resume as " Trained by @Traversy Media" and get all JOBS. Thank you, sir...

  • @juandavidgomezrestrepo6110
    @juandavidgomezrestrepo6110 3 ปีที่แล้ว

    Mate I'm so glad I found you on TH-cam . Thousand thanks !

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

    Brad you are one of the best and coolest tutors and guys ever!!!

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

    For this tutorial it's fine, but if you're going to go out on your own and build something, you may find trouble with the material-ui installed in this tutorial.
    Don't do the command 'npm install material-ui' when first installing material-ui. Instead do 'npm install npm install @material-ui/core'. The reason is that when you download just the regular material-ui, it gives you the beta version, which means some things don't work. When I tried to build a starter app, I wasn't able to get a basic AppBar imported with the regular material-ui, but when I went to change to the core version, I was able to. Here was what what helped me in my decision-making, from the error I got: github.com/babel/babel/issues/9026.

    • @jessejulian9069
      @jessejulian9069 4 ปีที่แล้ว

      i did as you recommended and I keep getting this error no matter what I've tried.The error reads: >>Module not found: Can't resolve '@material-ui/AppBar'

    • @damphireprincess90
      @damphireprincess90 4 ปีที่แล้ว

      @@jessejulian9069 I can't get past this error either, it's super annoying

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

    Haven't even watched it yet but I still smashed that like button cause I know its gonna be awesome!!

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

      Same!

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

      Same here

    • @tomvito
      @tomvito 6 ปีที่แล้ว

      This is what I also do every time xD

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

      Watched it all. Can confirm: is awesome

    • @Dee-Ell
      @Dee-Ell 5 ปีที่แล้ว +2

      Note that the version of Material UI used is extremely old. Not only do most of the props of the Material UI components in the new versions are very different but the components themselves as well (e.g. instead of RaisedButton).

  • @malikgenius4u
    @malikgenius4u 6 ปีที่แล้ว

    Your Video and Synology both are awesome, i am using synology from long time and its awesome, never had an issue with it.

  • @spiritual_bandit
    @spiritual_bandit 6 ปีที่แล้ว

    you sir are a gentleman and a scholar....absolutely brilliant mate....its a shame you can only like the video once,i wud b pressing it the whole day....cant wait for the next Vid...

  • @invictuz4803
    @invictuz4803 5 ปีที่แล้ว

    Awesome simple example! So great that you started by showing the end result so I know whether or not this video was what I was looking for.

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

    Great work Brad

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

      damilare emmanuel thanks 😊

  • @ngamingafg
    @ngamingafg 4 ปีที่แล้ว

    Hello Brad, love from Afghanistan, you made web development very easy and simple for me. you are genius. thanks a lot.

  • @guylemay1471
    @guylemay1471 6 ปีที่แล้ว

    It's been lots of fun ....can't wait for the back-end installation tutorial - thanks!

  • @georgekrax
    @georgekrax 4 ปีที่แล้ว

    Awesome video! Congarts, you have helped me a lot. It really took me a long time to find a practical solution / tutorial for a mutli-step form.

    • @arlandmv4053
      @arlandmv4053 4 ปีที่แล้ว

      hey did you by any chance use material ui@4.11.2? because I can not get it to work

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

    Man this is soooo helpful, just put into use for my current work! Thank you so much!!

  • @danielroh5227
    @danielroh5227 6 ปีที่แล้ว

    I learn so much from all your videos. Appreciate all your dedication and hard work! Thanks!

  • @valentinfontanger4962
    @valentinfontanger4962 5 ปีที่แล้ว

    This is insane how clear this video is

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

    Thanks Brad, looking forward for the back end piece, i am going through the react course now and this was fun to break/rebreak and figure it out

    • @allanpimble7198
      @allanpimble7198 5 ปีที่แล้ว

      Yes, break/rebreak! I kept putting code in the wrong form. I also got burned by some of the auto-complete features of Visual Studio. I waited until I finished watching this video before disabling them.

  • @alokranjan476
    @alokranjan476 4 ปีที่แล้ว

    It's really useful. In one of my story, not exactly like this but this kind of approach is required. Thanks a lot 😊👍.

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

    Hello Travis, I appreciate you providing this walkthrough. At time stamp 36:35 you walk us through creating the listItems.I found it easier to turn values into an array with variable = Object.entries(values). From there I used destructuring to iterate through the values with the following variable.map(([ field, value]) => ( )). How do you feel about the approach I recommended?

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

    Another GREAT VIDEO!!! Thank you Brad, looking forward to the next one!!!

  • @Ath9394
    @Ath9394 5 ปีที่แล้ว

    I feel very energetic whenever i came across brad's new video

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

    Thanks for sharing such a valuable content Sir.

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

      vijay kumar you’re welcome

    • @ai-bruise
      @ai-bruise 4 ปีที่แล้ว +1

      Hi! I want to share some advance way of working with multi step form
      th-cam.com/video/-j8s0RNOZ8U/w-d-xo.html

  • @anilshresthaa8174
    @anilshresthaa8174 4 ปีที่แล้ว

    Quick, Simple, and very practical. Thanks a lot.

  • @arlandmv4053
    @arlandmv4053 4 ปีที่แล้ว

    at 18:38 now you have to use "import AppBar from 'material-ui/core/AppBar" .. notice the "core/" extra..

  • @jra5434
    @jra5434 5 ปีที่แล้ว

    Great tutorial, a lot of the things have changed because that's how code works. But still a good guide for someone to familiarize themselves. Some of the components don't work anymore since Material-ui updated a lot of their components. Importing them in a different way should work and reading the new documentation.

  • @dayanramirez456
    @dayanramirez456 5 ปีที่แล้ว

    Really great video. I was able to implement this in my project, Way to go Brad!

    • @ai-bruise
      @ai-bruise 4 ปีที่แล้ว

      Hi! I want to share some advance way of working with multi step form
      th-cam.com/video/-j8s0RNOZ8U/w-d-xo.html

  • @allanpimble7198
    @allanpimble7198 5 ปีที่แล้ว

    Loved it; even though I had to restart the project several times (over anxious!) I kept putting code in the wrong form. I also got burned by some of the auto-complete features of Visual Studio. I waited until I completed the project (Success!) before disabling them. Thank you very much.

  • @josevSang
    @josevSang 5 ปีที่แล้ว

    my solution for handle input, storing the value in a variable and referencing it.....
    worked just fine
    handleChange = input => (e) => {
    const numValue = e.target.value
    this.setState((prevState, props) => {
    return {
    [input]:numValue
    }
    })
    }

  • @IronCoder24
    @IronCoder24 6 ปีที่แล้ว

    Thank you Brad for all these free videos! I love your content and they helped me so much i had to buy 3 of your courses on Udemy!! thanks for all this

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

    Hi Brad, I don't know where to post this but I would like to see the comparison between different deployment platforms. For example, it would be great to know the difference between DigitalOcean , Heroku or even Amazon Elastic Beanstalk. I tried searching but can't quite understand about their pricing, how they actually works and so on. It would be great if you make this kind of video for beginners. It would be beneficial to learn from an experienced one like you. Thanks for reading!

  • @shozdott
    @shozdott 6 ปีที่แล้ว

    So glad your using a material-ui structure :)

  • @desequilibradoo
    @desequilibradoo 5 ปีที่แล้ว

    I was struggling to understand the concept of React (and also new js frameworks) Thanks Brad you made one more time everythin very easy to understand.

    • @ai-bruise
      @ai-bruise 4 ปีที่แล้ว

      Hi! I want to share some advance way of working with multi step form
      th-cam.com/video/-j8s0RNOZ8U/w-d-xo.html

  • @ShivamSingh-bx5lg
    @ShivamSingh-bx5lg 4 ปีที่แล้ว +1

    Wouldnt it be better to maintain a set of separate states on each component for onChange and only update the Parent State on Continue and Back , So that the whole form component does not re-render on every single change?

  • @datikken5327
    @datikken5327 6 ปีที่แล้ว

    Brand thax a lot, I'm watching you since your JS fundamentals course, one more tme Thank You

  • @411sev
    @411sev 3 ปีที่แล้ว

    Very clear and well presented. Thank you.

  • @arung007
    @arung007 6 ปีที่แล้ว

    Thanks, I had not tried Material UI with React, its clean tutorial.

  • @YogeshYadav-tk9bh
    @YogeshYadav-tk9bh 6 ปีที่แล้ว +8

    Thanks for new videos brad Sir.....

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

    Thanks for this video Brad! Hope you could make an update video using arrow functions.

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

    it was really good , i always used to watch your video tutorials ,because you do all things practically not on slides and mockups ,Can you please one series on react-native redux and firebase a full fledge app

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

    Awesome videos. You are the best. In this video, some sections seem not to work the same as 4 years ago.

  • @anantawasthy8104
    @anantawasthy8104 6 ปีที่แล้ว

    Thanks Brad ...! Learning a lot from your videos ...!

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

    Thank You Brad for this Video... Really got a lot from this.
    I am trying to Capture the Value for Radio input in Class Component. Finding it Difficult.

  • @MrSanya789
    @MrSanya789 6 ปีที่แล้ว

    Thank you for interesting video👍 Small points, when you change state based on current state , like yout prevStep, nextStep methods, better solution is pass callback to setsState instead of object

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

    Someone should comment or do an update on the outdated Material-ui dependency becuae it no longer works and this project is based on it working

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

    ERROR: The prop `theme` is marked as required in `ThemeProvider`, but its value is `undefined`
    FIX:
    import {
    ThemeProvider as MuiThemeProvider,
    createMuiTheme,
    } from "@material-ui/core/styles";
    const theme = createMuiTheme();

  • @emiliod90
    @emiliod90 5 ปีที่แล้ว

    Worked like a charm 👍

  • @viveksharma-tt5nj
    @viveksharma-tt5nj 6 ปีที่แล้ว

    another awesome thing to learn . Thanks Bred

  • @sakshiwalzade2614
    @sakshiwalzade2614 4 ปีที่แล้ว

    Its simply awesome .Thankyou so much .

  • @tomvito
    @tomvito 6 ปีที่แล้ว

    Thanks! Nice and handy little project.

  • @saileeladharsaranam1992
    @saileeladharsaranam1992 5 ปีที่แล้ว

    Awesome and very cool explanation.

  • @datapro007
    @datapro007 4 ปีที่แล้ว

    Thanks Brad. Your videos are amazing. I've learned a lot.

  • @cicerofonseca8604
    @cicerofonseca8604 5 ปีที่แล้ว

    Great video. It was very helpful. Good job!

  • @AnshulShrivastavaOnline
    @AnshulShrivastavaOnline 6 ปีที่แล้ว

    This is exactly what I was looking for. Thanks a ton..

  • @nilnavegadores767
    @nilnavegadores767 6 ปีที่แล้ว

    Your videos are great, thanks for sharing your ideas with us.

  • @anneu8314
    @anneu8314 5 ปีที่แล้ว

    Thank you for this, Brad!

  • @goosebump91
    @goosebump91 5 ปีที่แล้ว

    Your video saved me once again. Thank you so much this!

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

    Commands used in this video:
    npx create-react-app .
    npm i material-ui
    npm start

  • @MistaT44
    @MistaT44 5 ปีที่แล้ว

    This was amazing! thanks Brad

  • @wassim5622
    @wassim5622 6 ปีที่แล้ว

    Thanks so much for keep sharing valuable ideas :) you are the best really enjoy every video you make

  • @london5679
    @london5679 6 ปีที่แล้ว

    Pro tip: double click on a word to select all of the text (stops at spaces, full stops etc). Also, surely having a Header component for the top bar which takes a title prop rather than having the AppBar included in every component??

    • @desmondbutler669
      @desmondbutler669 6 ปีที่แล้ว

      I agree totally. A "Stepper" would have been nice too so the user knows how many steps are coming

  • @YaserAz
    @YaserAz 6 ปีที่แล้ว

    Thanks Brad . Always great tutorials :)

  • @fr3fou
    @fr3fou 6 ปีที่แล้ว

    at 9:40 it's recommended to use the callback version of setState
    this.setState(prevState => ({step: prevState.step+1}))
    reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous

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

    It would be nice if you create same app with Vue.js and make a comparison) Will wait! Thanks for great tutorials!

  • @johnsawiris3683
    @johnsawiris3683 6 ปีที่แล้ว

    Awesome video, Brad!
    It would be awesome if you'd make a Material UI tutorial. Everytime I try to use it I get stuck especially with creating a navigation bar, so if you have time, please make a tutorial for it.
    Thanks!

  • @ankittoocool
    @ankittoocool 4 ปีที่แล้ว

    Great Video :). Helped a lot to design code for form

  • @London2ATL
    @London2ATL 6 ปีที่แล้ว

    What extension enabled the "imp tab" shortcut to import the module name, from the module @18:01...it isn't the ES7/React/Redux/GraphQL/React-Native snippets that we installed in the beginning because I couldn't use the same shortcut he did even though I have that extension above installed....does anyone know? Thanks.

    • @technicalogical5681
      @technicalogical5681 6 ปีที่แล้ว

      I'm fairly green when it comes to programming and had to watch his video on setting up Visual Studio Code before following along with this video. He goes through a bunch of helpful extensions on that video and one of them enabled imp tab.

    • @London2ATL
      @London2ATL 6 ปีที่แล้ว

      @@technicalogical5681 I did install them but that shortcut didn't work for me.

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

    Add a video about react class based and function based, when and why to use either of them

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

    That's really amazing and great.
    Please upload the video where the details saves in DB

  • @nabilfannane7217
    @nabilfannane7217 6 ปีที่แล้ว

    Finally OUUUF thank god , another priceless gold content again..... :)

  • @raven1552
    @raven1552 5 ปีที่แล้ว

    11:05 Can you explain my what happend? anyone?
    handleChange = input => {
    console.log(input);
    return e => {
    this.setState({ [input]: e.target.value });
    }
    };
    what is going here? I don't understand . Why here is function inside function and have these values.

  • @rodmm3010
    @rodmm3010 4 ปีที่แล้ว

    Hi genius. Thanks for helping all of us.
    Quick Question. Do you use windows in your everyday work? or linux?

  • @ujithisura355
    @ujithisura355 6 ปีที่แล้ว

    great tutorial thank you..saved me lots of time

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

    Really thanks for the tutorial, Also can please some help how we use the radio and checkboxes here

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

    i recently admitted into CSE, in a local university, i'm planing to spend 4 year for only to study a language deeply , from first to last ,,, if i want to get a great job in future ,,, what programming language u suggest me sir ??? JS vs Python ???

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

    How to remove the hamburger menu in the top left corner? It belongs to AppBar, but I have not found a way to remove it.

  • @andriypolukhin
    @andriypolukhin 5 ปีที่แล้ว

    Brad thank you! This is helpful!

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

    Awesome! Thanks 😎

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

    Do i need to install redux in order to get this to work? I'm stuck wih an error at the bottom of the UserForm.js file where it says "export default UserForm; ". The error on the browser reads: "Parsing error: Unexpected Token "(on that line i specified)

  • @Pareshbpatel
    @Pareshbpatel 3 ปีที่แล้ว

    Thank you, Brad!

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

    Can someone break down this code for me I don't quite get it.
    handleChange = input => e => {
    this.setState({ [input]: e.target.value });
    };
    The double arrow is confusing me perhaps write it out with no refactoring?

  • @rockinrandalf
    @rockinrandalf 6 ปีที่แล้ว

    Thanks Brad, great video, as always, I've learned a lot. I would highly recommend a 'connect to backend'-video with Laravel, but thats just my favourite backend, ok, Django is cool, too...

  • @adityachirania7209
    @adityachirania7209 3 ปีที่แล้ว

    If the number of fields are too many, is it a good idea to use mobx instead of having states in the parent component ?

  • @MrMiniTako
    @MrMiniTako 5 ปีที่แล้ว

    Great tutorial thank you very much

  • @u2bevdos
    @u2bevdos 5 ปีที่แล้ว

    Well explained. Thanks !

  • @shilpa-m-21
    @shilpa-m-21 5 ปีที่แล้ว

    Great video. Helped a lot.

  • @programmersohel
    @programmersohel 3 ปีที่แล้ว

    Great!! Go Ahead Bro.

  • @jamalal7357
    @jamalal7357 6 ปีที่แล้ว

    Awesome video, I just started teaching react js on my channel