So, how much time does it take to learn React js? As with everything in software development, it depends. Particularly, it depends greatly on your prior HTML, CSS, and JavaScript experience, programming experience, learning methods, hours spent coding and your own cognitive abilities.
In this article, we are going to break down exactly how much time it takes to learn React js and what you need to know first to really understand the library and learn faster.
Luckily for you, the time it takes to learn React is much faster than the time it takes to learn C.
What Should You Know Before Learning React js?
HTML, CSS, & JavaScript Knowledge
React, or any JavaScript framework is a natural progression to learn after solidifying your knowledge in HTML, CSS, and JavaScript. However, I highly recommend you do not learn React before you have a really solid understanding of JavaScript.
Be honest with yourself. Do you truly understand JavaScript? Do you know what prototype chaining is? What about ES6/ES7/ES8 syntax? Do you know the map, filter, and reduce functions?
If you answered no to any of those questions, you probably are not ready to move on to learning React.
I highly recommend checking out rithmn school. They have some great free beginner to advanced JavaScript courses that really helped my JavaScript understanding when I was first learning the language.
The reason you need to have a deep JavaScript understanding is that you want to be able to distinguish what is React and what is native JavaScript. If you don’t, React becomes much more complicated to understand than it needs to be.
Having deep JavaScript knowledge also allows you to build much more complex React applications. Since the majority of React apps are actually pure JS, a strong understanding of JavaScript will drastically decrease the amount of time it takes to learn React js and to write complex applications.
Functional Programming
In addition to a strong JavaScript knowledge, how much time it takes to learn React js depends on your functional programming knowledge as well. You should understand the big concepts in this paradigm, such as pure, immutable, curried, and higher-order functions.
I personally learned a lot about functional programming from this free 3 part course. However, that is probably overkill for learning React. Having a good understanding of the concepts in this blog post is likely enough to give you the knowledge you need for React.
The reason this is so important is that React takes a lot of inspiration from functional programming, especially React Hooks. Which is the modern way to write React applications.
In order to understand how things are working in React, basic functional programming knowledge is a must.
How Much Time Does It Take To Learn React JS?
If you have a strong grasp of the concepts I mentioned above, you should be able to learn the basics of React in 1-2 months. It is a pretty simple library and easy to get started with.
If you continue to work with the language, you should be able to write enterprise-ready UIs in 4-6 months. The reason for this is that it takes time to learn good React patterns to use and anti-patterns to avoid.
You will also get more comfortable with the concepts like separation of concerns in React. The process of separating the presentational components, business logic, and implementation logic. Which is necessary to write scalable applications.
I would also give it about one or two more months to learn Redux and TTD with Jest and Enzyme. The most popular state management and testing libraries for React, respectively.
I can tell you that when I built this algorithm visualizer I had already been using React for close to a year. I certainly wouldn’t have been able to build it in my first month!
Ultimately, the number of days mentioned to learn React is irrelevant. It is just a loose guideline to understanding roughly how long it will take. It might take you much less time or it might take you much more.
If you want to learn React quickly, practice every day and build as many projects as you can. Only through practice and reading can you become a great React developer!
Can I Learn React In A Week?
If you have a good understanding of JavaScript and functional programming, and you are in a rush to learn React, you can probably learn the basics in a week. You may not be able to build very complex and scalable apps but you should be able to build simple ones.
Summary
So, how much time does it take to learn React js? Well, if you have a strong foundation in JavaScript and functional programming, how much time it takes to learn React would be around 1-6 months. With an additional 1-2 months to learn the state management library Redux and testing libraries Jest and Enzyme.
However, ultimately it depends on how often you practice, whether you are continuously challenging yourself or not, and if you are learning about scalability and optimization techniques in React applications.
That’s pretty much it! Happy coding.
If you are new to web development and want to know exactly what to study to become a web developer, start here.
If you are a self-taught developer and want to know the steps to get your first job, check out this resource.