DEV Community

Discussion on: Don't Learn JavaScript and React at the Same Time

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

I do believe a solid understanding of JavaScript is critical to anything based on it, especially to prevent React from becoming the new jQuery (before and during the early years of the modern framework/library wars, there were a ton of really good jQuery developers who couldn't write vanilla JS to save their lives).

I especially urge junior JS devs to dive into the what and why of JavaScript (as a prototype-based, dynamically typed language) before adding TypeScript and even ES6 classes to their learning curve (if you use them at all; contrary to seemingly most these days, I advise against both - admittedly, this becomes much harder when so many third party React libraries are still class-based, and many have been written in or have moved to TypeScript, making it more difficult for less experienced devs to gain understanding from navigating their source code). Kyle Simpson's You Don't Know JS Yet series of books is your friend in this regard. You need to understand that, if you avoid the "bad parts" or "weird parts" (as Simpson says, they're actually just JavaScript parts, and you need to know how and why they work the way they do), or try to hack JavaScript into behaving like some other language (again, failing to understand why it behaves the way it does), you're going to have a bad time.

With that said, we all need motivation to dig deeper. If React is what does that for you, then go forward; however, remember to continue with the actual digging, into actual JavaScript. When something stumps you, don't just reach for the React-specific answer. At the end of the day, React is just JavaScript.

While I haven't reached for Redux in my own projects for a while (since hooks emerged), just last weekend I told a class of newbies learning it to bear with it because a lot of the concepts it teaches apply to programming in general, particularly modern JavaScript (e.g. actions, reducers, middleware). After you gain a better understanding of React, Redux would be good to learn for that reason as well as the high likelihood that you'll be using it in React projects you may get hired for in at least the near future.