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

React.js, CSS, HTML, JavaScript

react, node
birkirfreyrg•30
@birkirfreyrg
A solution to the Interactive rating component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


I had trouble transferring the selected rating over to my Rating component (the thank you page) while using react routes. I changed my approach by displaying the Rating component when the button had been pressed and passing the useState value of the currently selected button over to the component, there for able to display the correct value.

Is this a valid solution or should I have continued using react routes and figured out a way to transfer the correct "data"?

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • P
    visualdennis•8,395
    @visualdenniss
    Posted about 2 years ago

    Hey there,

    no, you don't need a react-router for this, a simple conditional rendering is fine, in a bigger app, you might want to redirect the user to home-page or somewhere, but that's another story. As for the state, you just need to decide where the state should live. In this one, there are two main components; thank you component and rating component. Their parents need to know if a rating is selected and with what value and if submitted, so it can decide to render thank you instead of rating component. With this approach, it is easy to decide: it basically means state should live in the closest parent of components that depend on some state.

    Here is a great article about this: https://beta.reactjs.org/learn/thinking-in-react

    Hope you find this feedback helpful!

    Marked as helpful

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