If you are learning React and you get stuck on these kinds of above questions then definitely you are doing mistakes in your learning process. There is no doubt that ReactJS is the most popular library among frontend developers and its popularity is continuously increasing day by day. The website running on ReactJS looks beautiful and most of the beginners in development get attracted to ReactJs (developed by Facebook) as well but a common mistake that a lot of developers and experienced people make is jumping directly into ReactJS (or some other library and framework) without knowing the prerequisites. If you will directly go to the React you will face a lot of problems while learning this library and in interviews as well.
Every front end developer starts their journey with HTML and CSS. So before you start learning to react you should have good command on writing HTML and CSS. You should know how to write semantic HTML tags, how to write CSS selectors, how to use classes, how to implement a CSS reset, box model, how to reset to border-box, flexbox, how to write responsive web applications including media queries and how to build a frontend application using HTML and CSS.
- Start with variables, number, boolean, string and make your concepts clear about other very basic fundamentals. Make some small app on that like a calculator to see how things work together.
- Higher order function, callback function, arrow function, state (how state and setState() function works) scope, class & constructors, extends and inheritance, map, reduce, filter, promises, modules, closures, const, let (difference between var, let and const) and other features of ES5 and ES6.
4. Package Manager (Node + Npm)
So before moving to React, you should have a solid understanding NPM (Node package manager) registry and how to install packages using NPM. NPM registry keeps track of the file that has been submitted. Anybody can submit these files (packages or modules). In short NPM registry is the place where developers can go and get the software to build software.
5. Git and CLI (Command Line Interface)
Git (version control) is another must-have skill a developer should have to store their project on GitHub, Bitbucket and GitLab (Code hosting platform). It helps developers to work and collaborate with each other and it allows them to track and host different versions of project files. You should have good knowledge that how Git and these code hosting platforms work. Developers use the command of Git to track the version of your files, so learn how to use all the commands such as push, pull, add, commit, etc. Also learn about merging, branching, handling merging conflicts, etc.
Everything in React you will be doing with the help of CLI (Command-line interface). Installing packages, using NPM, creating a react app, running react application and a lot of things so you really need to make a habit of using CLI. Below is the example of running a react application using CLI.