The 2024 ReactJS Developer Roadmap | Zero to Hero
Hi Guys!! This article contains a lot of links, but believe me, after reading them you’ll get started with React JS right away. If reading is not what you looking for, add the Natural Reader Text to Speech extension to your chrome and make your life easy. :)
Honestly, I wasted a lot of my time searching for the best material to get started. But didn’t find a single best roadmap to learn REACT. So I gathered everything which I as a beginner needed to learn React. If you don’t have a software degree, don’t worry I got you too. This article is for all. Let's get started. :D
Remember: No matter, which framework or library you learn for web development, you must know the basics and when I say basics, I mean HTML, CSS, and JavaScript, these three are three pillars of web development.
In order to be a React Developer Pro, you need to have a basic understanding of Javascript.
JavaScript
JS is the only thing which brings logic and programming to the life of a front-end developer. It is very much flexible and surprising.
Basics
- Var, Let & Const: Learn about their scope.
- Data Types (Primitive and Non-Primitive): Learn which type is mutable and which is immutable.
- Loops: Get a bit of an understanding of loops, and to be honest one loop will do your all work. I would recommend seeing FOR loop. Why? It’s my personal choice only. :D
- Objects: Learn how to create, display or access an object.
- String: Go through some basic string methods, they will make your coding life a lot easier.
- Arrays and their basic functions: Array functions are one of the best things in React. I know some of you must be thinking it’s javascript basics but React is a declarative and flexible JavaScript library. :D
- Immutability and More Array Functions: Go through the immutability concept only. This article contains more array functions if you want to learn.
- Spread Operator and Rest Parameter: You’ll need these operators a lot sometimes so get familiar with them.
- Shallow and Deep Copy: Get the basic understanding only.
- Lexical Scope: Often people don’t know that it is called lexical scoping, but you know it. :)
- Difference b/w ES5 & ES6
Advanced JavaScript Concepts:
Congrats! You have completed the first part, now let’s learn more about javascript.
- Hoisting: Learn the hoisting behaviour of var, let, const, simple function & arrow functions. Difference between reference and undefined error.
- Closures: Closures are difficult to grasp at first but going step by step will help you understand how easy they are. Reread as many times till you get them. We’re not racing, here our goal is to learn. Have a break and come back later. :D
- Arrow Functions: They are cleaner, learn how to create them.
- Callbacks: Callbacks are great until they are being nested and become very hard to read or maintain. This is called callback hell. To fix this problem, Promises were introduced.
- Promises and Promise Chaining: Promises are one of my favourite topics. They are often used in React projects, especially in API calls. They are also asked in interview questions.
- Async Await
- Web APIs (setTimeout, setInterval): Learn how to use these methods and how they actually function. setTimeout is often asked in interviews.
- Eventloop (JS is a single-threaded Async Concurrent language): No article would explain it better than this video.
- Currying Function
Yeah, we have completed the JS section. Now you’re ready to learn REACT.
REACT
ReactJS is a declarative, efficient, and flexible JavaScript library for building reusable UI components. It is an open-source, component-based front-end library which is responsible only for the view layer of the application. It was initially developed and maintained by Facebook and later used in its products like WhatsApp & Instagram.
Basics Part-1
- What is React and how it works?
- Virtual DOM vs Real DOM: Understand why Real DOM is slow.
- Reconciliation: Understand how React updates the browser.
- Components: Learn functional & class components, and how to declare them.
- React Component LifeCycle
- State and Props: Learn how these both are used to pass data in React. Props drilling is basically a situation when the same data is being sent at almost every level due to requirements in the final level.
- Difference between class & functional components: It is generally believed that functional components are faster than class components. React team has been promising optimizations to functional components.
- Initialize a React App using create-react-app: Create react setup and run your first react project.
- Hello World: How can we start a new thing without writing a hello world code? It’s a tradition in the software world. :D
Basics Part-2
- Introducing JSX
- Rendering Elements & Components and Props: Learn how to render a component.
- State and Lifecycle
- Handling Events: Understand how to handle events on forms and buttons.
- How do we style React Components?
- Conditional Rendering: Get familiar with the conditional operator “? :”. It's one of the best practices.
- Lists and Keys
- Forms
- Lifting State Up
- Composition vs Inheritance
- Thinking In React
- React Router
- Single vs Multiple Page Application
- Network request (Fetch & Axios)
- useState & useReducer
- useEffect: Learn how to implement Mount, Update and Unmount Callbacks using useEffect
- useRef
- useMemo & useCallback
React Advanced Concepts
If things are becoming overwhelming for you, I would recommend at least having a basic concept of HOC, HOF, Redux and Formik from the following. :)
- Code-Splitting
- Context
- Error Boundaries
- Forwarding Refs
- Fragments
- Higher-Order Components (HOC)
- HOFs
- Difference between Callback and HOFs
- Integrating with Other Libraries
- JSX In Depth
- Reconciliation
- Refs and the DOM
- Render Props
- Static Type Checking
- Typechecking With PropTypes
- Uncontrolled Components
- Implement Formik and Yup for form validation
- Flux
- Redux & mapStateToProps
- Add Redux Thunk to your React Application
- Redux persist (whitelist & blacklist)
General Concepts:
- npm vs yarn
- Difference between npm & npx
- Babel & Webpack
- Https vs Http
- What is Gulp and Grunt? (Just Overview)
That’s all about the ReactJS RoadMap For Developers. It’s very comprehensive for sure, but there is a good chance that many of you may already know most of the stuff. Remember to Start small and follow along. :)
Soon I’ll write an article on CRUD operations in React using redux for your better understanding. Till then Bye. :D
For more stories, you should follow my profile, Iqra Jamil. Happy Learning! :)