DEV Community

Cover image for 10 ReactJS Coding Challenge (💥Coding Interview Prep💥)
Let's Code
Let's Code

Posted on • Edited on

10 ReactJS Coding Challenge (💥Coding Interview Prep💥)

Last month, I posted 2 ReactJS interview questions 🎤 - Advance Questions and Commonly Asked Question and got a significant welcome by dev.to community. 🤗 🥰 Many thanks to all of you!

I decided to complete the package by creating codepen exercises 📝 and a video 📺 to follow up on that effort as one will need to code following the technical interview questions. Also, I added potential solutions for the exercises which is listed below.

If you need to brush up 🆙 your ninja ReactJS skills, you can try to answer the exercises below OR click the video below to guide you step-by-step interactively. (No filler, fast, straight to the point as I highly respect/value your time)

These exercises and solutions will also be available on the video as well.

Exercises: 🏋️

Display simple JSX

Display array of users to browser

Show/Hide Element on Screen

2 way data binding in ReactJS

Disable a button

Update the parent state

Dynamically add child components (React Children)

Sum of Two Numbers

Create Counter App

Fetch data from an API

Solutions: 🙋

Display simple JSX

Display array of users to browser

Show/Hide Element on Screen

2 way data binding in ReactJS

Disable a button

Update the parent state

Dynamically add child components (React Children)

Sum of Two Numbers

Create Counter App 🕒

Fetch data from an API

Happy coding and good luck on your next interview! I hope this material will help you land your next dream job. 💰 🚗 📈

Top comments (41)

Collapse
 
armenic profile image
armenic

Thanks for nice challenges. I really enjoyed solving them! By the way beta.reactjs.org/ also started to include challenges. Maybe you can contribute to the new docs? They are open for public PRs.

Collapse
 
frontendengineer profile image
Let's Code

your welcome! ill definitely check that out. thanks for the link.👏🏻👍

Collapse
 
lovishtater profile image
Lovish Tater

Hi armenic,
I want to contribute new challenges in beta.reactjs.org/. I don't know how to contribute, I saw React's git repo but I didn't understand how to start. can you please guide me.

Collapse
 
frontendengineer profile image
Let's Code
Collapse
 
mkmckenzie profile image
Mary-Katherine McKenzie

Great exercises! Had fun with these!!

One thing I want to note - in your solutions, I often see the pattern:

const [value, setValue] = React.useState(0)

<button onClick={setValue(value +1)}>Increment</button>
Enter fullscreen mode Exit fullscreen mode

However, the React docs prefer this method of using the previous state value - passing a function that receives the previous state value.

const [value, setValue] = React.useState(0)

<button onClick={setValue(prevValue => prevValue + 1)>
    Increment
</button>
Enter fullscreen mode Exit fullscreen mode

Updating state with value instead of using the previous state function may result in some buggy behavior because of React's unpredictable & async state-updating logic. Likely won't see anything buggy with these examples since they aren't too complex, but just wanted to shout out that nuance!

Thanks again for these great exercises!!

Collapse
 
frontendengineer profile image
Let's Code

yes, passing a function is way better and the right approach to handle setting state here. Glad that you found this post useful and you are very welcome. Will create more post/video like again.

Collapse
 
replay profile image
Ionut Oltean

Nice I always look for those kind of challenges to practice

Collapse
 
frontendengineer profile image
Let's Code

i plan on making more in the future. Stay tuned :)

Collapse
 
cssmatter profile image
Manish Salunke

I found this on udemy.
React JS Coding Interview Challenges and Exercises
udemy.com/course/react-js-coding-i...

its good.

Collapse
 
dandanbohdan profile image
Dan

It was fun! Thanks a lot!

Collapse
 
frontendengineer profile image
Let's Code

glad that you've liked the coding exercises! thanks for the comment.

Collapse
 
hemavathi profile image
Hemavathi

Very helpful exercises for beginners. Thank you :)

Collapse
 
aliafify profile image
Aliafify

thanks for that nice chalanges

Collapse
 
frontendengineer profile image
Let's Code

your welcome buddy! i feel great that this content helps many devs. 👍

Collapse
 
sandyml profile image
sandym

I enjoyed this! Thank you so much!!! If anyone have anything similar please share! I would love to tackle on some more!
Thank you in advance!

Collapse
 
frontendengineer profile image
Let's Code

you are welcome!

Collapse
 
abbydorso profile image
abbydorso

this is so helpful for interview prep, thank you!!

Collapse
 
frontendengineer profile image
Let's Code

helping engineers like you and me are the goal of this post and video.

I appreciate the comment and stay tuned for more post like this.

Collapse
 
belle1306 profile image
Isabelle Francis

For create counter app challenge, i created two functions (decrease and increase) to be passed instead, later simply calling ....is that inline with best practise?

Collapse
 
frontendengineer profile image
Let's Code

it is and is common in any ReactJS applications