Many aspiring engineers are asking themselves the same question. Am I good enough with JavaScript to start learning React? You need to at have least a decent understanding of the main topics. But that’s not the only thing you need to know before starting. React and it’s lifecycle can be very confusing for those not coming from an analytical background, so the main difficulty doesn’t necessarily come from the lack of JS knowledge.
The very basics – HTML and CSS
As an absolute must you need to have a decent understanding of HTML and CSS. Those are the core of any web application and a lack of understanding of how to build a static HTML page and how to style it properly will be hindering your further growth. Make sure that you spend solid 10-20 hours covering the basics.
It would be also very useful if you could build a couple of landing pages or other websites just to practice your skills.
JavaScript
There is not an easy answer to give to this question. And it’s pretty much not possible to give a definitive list of JS features that you should know. A good rule of thumb would be to complete the free JS course as freeCodeCamp.
When the course stops being challenging and you feel like you’re not learning anything anymore then I believe would be the best time to start getting some React exposure. Check out other articles at upmostly, watch code along videos on Youtube, complete tutorials and read through the documentation over and over again.
Apart from completing the course, familiarise yourself with the following topics:
- ES6 features (arrow functions, let and const, template literals, …)
- Object Oriented Programming
- Functional Programming
- Communicating with APIs
- Promises
- ES modules
React can be a bit confusing for new engineers but don’t get disheartened and keep on persisting. It’s definitely worth learning it. Just make sure that any courses or resources that you’re using to learn are not older by 2-3 years. React changes really quickly and you don’t want to be learning things that are no longer relevant.
💬 Leave a comment