Skip to content
  • Learning paths
  • Challenges
  • Solutions
  • Articles
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted about 2 years ago

⚡ Multi-Step Form in React + State Management with ContextAPI ⚡

react
P
visualdennis•8,395
@visualdenniss
A solution to the Multi-step form challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


This challenge was a nice project to practice state management of the whole app with Context API, storing all the data at the top level and retrieving it from grandchildren without prop drilling. Initial data is rendered dynamically from data.js

Step transitions are smooth with subtle fade-in animations. Clicking on plans or add-ons also produce some little ripple effect 🔥

Note: This was built some while ago, so with my current knowledge, i'm aware that the code needs some changes regarding best practices and some more improvements in terms of semantic HTML etc. Also the form validation is basic. (not checking for @ etc., type number for phone etc.)

Code
Couldn’t fetch repository

Please log in to post a comment

Log in with GitHub

Community feedback

  • Héctor M. Tamayo G.•140
    @hector-kuentro
    Posted about 2 years ago

    Hi visualdenniss, I liked the ripple animation in buttons and the fade transitions between sections.

    You could use the onBlur property on inputs to show an error message if the user didn't provide any value to that input; and also maybe use a regex to validate the email address.

    Otherwise, it's a great solution!

    Marked as helpful
  • Catalin Banici•260
    @CatalinBanici
    Posted about 2 years ago

    Nice! With Context API seems legit! I also done this challenge and I was prop drilling the heck out of it. It was a mess 😅

  • Marvellous Obatale•520
    @MARVELGARR
    Posted about 2 years ago

    bro... i need help on my skills ..i did this using vanilla js and it was hard yours is great

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub