My thoughts on completing the React Fundamentals workshop from Epic React by Kent C. Dodds
Tags: react, javascript, webdev, beginners
Published: 2020-10-12 21:15:34

I just finished my first workshop of the [Epic React by Kent C. Dodds][1] course. After each workshop, I thought I might write down my thoughts and summarize my learnings.

![React Fundamentals Certificate][2]

Epic React is a __BIG__ online course with a total of 8 different workshops and I don't know how many hours of videos, I just know that there are a lot! 

If you want to learn or — like in my case — get better using React than this is probably the best course money can buy. Kent is an amazing instructor and he explains things very understandable. This epic course is so different than other online courses. It's more like an actual workshop where you attend in person. It will make sure that you will get your hands dirty and not just watch the videos!

The first module was React Fundamentals. It will teach you: How React works, what JSX is, and how to do simple things like creating components, add styling, and implement forms.  

## How I approached this course

Usually, when I buy an online course, I just watch the videos and maybe try out a few things on my own. Kent's workshops, however, are not intended to just watch them, __YOU__ will be doing most of the exercises and watch the solution afterward.

With each workshop, you will get access to a repository hosted on GitHub. It has all the files that you will need to follow along.

These are the steps I did for each section of the workshop:

1. Watch the intro video where Kent introduces the topic/problem
1. Open the corresponding file in the editor and browser
1. In the browser read the whole description about the topic and what should be done
1. Solving the exercise (+ extra credit) and if there is a test run it to verify it is working
1. Go back to the video and watch how Kent solves it and listen to the tips he gives
1. Complete the section and go to the next one
1. Repeat

I like this approach and it helps me to try things out and finally understand them.

## What did I learn?

More than I expected! I think I am already pretty good at React, but as it turns out I have skipped some fundamentals. 😅 

At the beginning of this workshop, Kent will explain how React works under the hood without JSX. I knew JSX is just syntactical sugar and React uses plain JavaScript methods under the hood, but I never had to use them. Learning how the function `React.createElement` work will let you understand JSX much better. 

Another thing was writing custom [PropTypes][3]. I have used PropTypes before but never wrote a custom one myself. It's good to know that this exists, but to be fair I think I won't be writing PropTypes a lot in the future. I think switching to TypeScript would be better than defining PropTypes on top of JavaScript. 

Finally, I now completely understand why React needs the `key` prop when looping over an array and rendering it. The demo with the input focus made me realize how important it is to use something unique to the item and not generated dynamically like the index!

## Conclusion

So far I like this course and I am very happy that I bought it and I can't wait to go through the next workshop which will be about hooks! 

If you are learning React or already use it at work don't hesitate to buy it. I know it is expensive, but compared to the value you will get for that money, it's not! In some countries, parity purchasing power is available too.

Now back to learning and going through the React Hook workshop! Of course, I will give you an update on how the workshop was later on. 

Happy coding!

[1]: https://epicreact.dev/
[2]: //images.ctfassets.net/hb3id6ag4raq/4IVsPuDbTzkNTNML2kZK7u/6b4feed5ace8a873083528a9551c56a7/Screenshot_2020-10-12_at_21.26.08.png
[3]: https://reactjs.org/docs/typechecking-with-proptypes.html