I am also finding REACT challenging. I came across an interesting opinion (when I was trying to resolve an unrelated issue) that puts things in perspective in this Quora post.
It’s also worth pointing-out that this poster mentions Redux, which is covered in later modules (at least on the Full-Stack path and anyways is available to Codecademy subscribers) and that it’s important to understand the concepts at this stage and not stress-out over the detail.
I’m getting tired of reading “It’s just a library not a framework” argument written by fellow experts. So let me give you a fairly straight answer. Yes it is difficult!
I’m doing my 5th project in React with a leading Research & Advisory company, and currently training three young professionals in React and bunch of other stuff, so I think I know what I’m saying when I say React is difficult.
First of all, you will never use React alone to build anything in your life. Unless you think writing a stupid Todo app is the gold standard in React. When working on a real life application, the knowledge of following tools will constitute development in React.
- Redux (or any other equivalent library) for state management. React alone cannot (and should not) be used to manage the state of your application if at all you are developing a scalable solution for real life problems.
- Axios/Fetch/Superagent (library for performing API calls). Regardless of what backend technology you may use, you have to learn how to transfer data from backend to frontend and vice-versa.
- Webpack/Grunt (to bundle your code). TL;DR Webpack: When To Use And Why
It’s a waste of time if you don’t consider above tools when learning React. Combine everything mentioned above with React and you have a full fledged framework.
Now having said that, definitely there is a learning curve for both React and Redux. And it is not just about learning the terminologies. You have to do a lot of pre-thinking before writing a single line of code. And it will mostly revolve around designing and managing the data tree that you are going to have in your application. Trust me when I say this, development in React is a real pain in the ■■■ until you wrap your head around the (React+Redux)’s flow and state management principles and some nasty errors that will make you realize that things may not always work as per the documentation.
Once you get over the mess and find your own pattern of development in React, only then would you be able to enjoy working in React.
I would say, don’t waste your time learning React.js alone. Always start with a tutorial series that covers every single library mentioned above. PluralSight has a fantastic course which covers just that.
And please, don’t end up in the category of those who think developing a Todo app is enough to learn React. It is not! Nobody in the IT industry uses React alone.