How To Master React In 2024 (Complete Roadmap)

Harkirat Singh
13 Jan 202413:30

Summary

TLDRThis comprehensive video offers an exhaustive roadmap for mastering React, guiding viewers through key concepts, from understanding the DOM and dynamic websites to components, state management, hooks, and performance optimization. While acknowledging React's declining popularity for website development, replaced by frameworks like Next.js, the video positions React as a prerequisite for learning Next.js and React Native for mobile app development. It covers essential topics like routing, styling, tooling, forms management, data fetching, and testing, providing a solid foundation for those embarking on the React journey.

Takeaways

  • πŸ˜„ Understand the DOM and dynamic websites to appreciate the value React brings for building modern web applications.
  • 🧠 Comprehend React's underlying reconciliation process and how it works under the hood to manage dynamic user interfaces.
  • πŸš€ Start with creating basic React apps (like a todo list or calculator) to understand how React components wrap HTML, CSS, and JavaScript.
  • 🧱 Master React fundamentals: components, state, rendering, and props - the core building blocks of React applications.
  • πŸ”„ Learn React hooks (useState, useEffect, useMemo, useCallback, useRef) to manage state and side effects in functional components.
  • 🧰 Create custom hooks to encapsulate reusable stateful logic and separate concerns in your codebase.
  • πŸ”— Grasp concepts like prop drilling, context API, and suspense API to manage and optimize state across components.
  • πŸ“¦ Explore state management tools like Redux, Recoil, or Zustand for better state management in larger applications.
  • 🌐 Implement routing in your React apps to handle multiple pages and views using libraries like React Router.
  • πŸ’… Learn styling techniques and libraries like Tailwind CSS, Material UI, or Styled Components to build visually appealing UIs.

Q & A

  • What is the purpose of this video?

    -The purpose of this video is to provide a comprehensive roadmap for learning React, covering various topics that are essential for getting started with React development.

  • Why is it important to understand the DOM and dynamic websites before learning React?

    -Understanding the DOM and dynamic websites is crucial because it helps you grasp the challenges and problems that React solves, and why it was adopted so quickly. It also provides an intuition for the difficulties of manipulating the DOM directly, which React aims to simplify.

  • What is reconciliation, and why is it important to understand how React works under the hood?

    -Reconciliation is the process by which React updates the DOM efficiently. Understanding how React works under the hood, including reconciliation, is important because it helps you comprehend the principles and mechanisms behind React's performance and functionality.

  • What is the significance of building a basic React application and analyzing the output?

    -Building a basic React application and analyzing the output helps you understand that React is ultimately generating HTML, CSS, and JavaScript code, similar to what you would write manually. It reinforces the concept that React is a tool to simplify and streamline the process of creating dynamic web applications.

  • What are the four key concepts in React that need to be understood?

    -The four key concepts in React that need to be understood are components, state, rendering, and props. Understanding these concepts is crucial for creating React applications and grasping the power and principles behind React.

  • What is the purpose of hooks in React, and why are they important?

    -Hooks in React provide a way to tap into lifecycle events and handle side effects in functional components. They are important because they allow developers to write more concise and reusable code, and enable the use of state and other React features in functional components.

  • What is prop drilling, and how can it be addressed in React applications?

    -Prop drilling is an anti-pattern in React where state is passed down through multiple levels of components. It can be addressed by using the Context API provided by React or by implementing a state management solution like Redux or Recoil.

  • Why is routing important in React applications, and what are some popular routing libraries?

    -Routing is important in React applications because it allows for handling multiple pages or views within a single-page application. Some popular routing libraries for React include React Router, Next.js (which includes routing), and Reach Router.

  • What are some popular styling libraries for React applications?

    -Some popular styling libraries for React applications include Tailwind CSS, Material-UI, Styled Components, Emotion, and Chakra UI.

  • What are some performance improvement techniques and libraries mentioned in the video?

    -The video mentions using libraries like React Hook Form and Formik for optimizing form management, libraries like SWR and React Query for efficient data fetching, and potentially writing tests for improved code quality and maintainability.

Outlines

00:00

πŸ”‘ Understanding Dynamic Websites and React's Inception

This paragraph discusses the importance of understanding the Document Object Model (DOM) and creating dynamic websites. It outlines the challenges of manipulating the DOM before the introduction of React and how frameworks like jQuery and Backbone.js attempted to simplify this process. It emphasizes the need to grasp the problems that React aimed to solve and why it gained rapid adoption by making front-end development more accessible.

05:00

🧩 React's Inner Workings and Reconciliation

This section focuses on understanding React's internal mechanisms, particularly the concept of reconciliation, which contributes to its performance. It suggests starting with writing raw HTML, CSS, and JavaScript, then progressing to using React as a layer of abstraction. The analogy of using an AI like ChatGPT to write React code is provided to illustrate the importance of comprehending the underlying technologies before relying on higher-level tools.

10:01

πŸš€ Building React Applications and Understanding the Output

This paragraph encourages setting up a basic React boilerplate locally, creating simple applications like a to-do list or calculator, and analyzing the final output. The goal is to understand that React ultimately generates HTML, CSS, and JavaScript files, with the benefit of abstracting away the complexities of dynamic JavaScript code. It serves as a practical exercise to reinforce the concept that React is a tool to facilitate writing these core web technologies.

πŸ—οΈ Components, State, Rendering, and Props

This section introduces the fundamental concepts of components, state, rendering, and props in React. It emphasizes the importance of understanding these terms and their relationships to grasp the power and design principles behind React. Mastering these concepts is presented as a prerequisite for creating a basic application like a to-do list.

πŸͺ Understanding and Creating Custom Hooks

This paragraph delves into the concept of hooks in React, which were introduced to handle lifecycle events and side effects in functional components. It highlights the importance of understanding popular hooks like useState, useEffect, useMemo, useCallback, and useRef, as well as their use cases. Additionally, it encourages creating custom hooks to separate state computation and component rendering, providing examples like fetching data from a backend.

🚦 Prop Drilling, Context API, and Suspense API

This section discusses prop drilling, an anti-pattern in React, and solutions like the Context API and state management tools. It also mentions the Suspense API, which is related to handling asynchronous data fetching. These concepts are presented as standard practices and techniques used in React applications to manage state and improve performance.

πŸ› οΈ State Management Tools and Routing

This paragraph focuses on state management tools like Redux, Recoil, and Zustand, which are external libraries used to manage application state more effectively and prevent unnecessary re-renders. It also introduces the concept of routing, which is essential for building single-page applications with multiple pages and handling different URLs.

🎨 Styling in React Applications

This section discusses styling in React applications, mentioning the option of using raw CSS, as well as popular CSS libraries like Tailwind, Material UI, Chakra UI, and Shadcn. It emphasizes the importance of choosing a styling approach and becoming proficient in at least one styling library for creating production-worthy applications.

πŸ› οΈ Understanding React Tooling and Build Processes

This paragraph covers the tooling and build processes behind bootstrapping a React application. It introduces concepts like Webpack, Babel, Create React App, and Vite, highlighting their roles in setting up and building React projects. While not essential for beginners, understanding these tools is valuable for interviews and handling specialized use cases like creating Chrome extensions.

πŸš€ Performance Improvements and Common Libraries

This section discusses performance improvements and common libraries used in React codebases. It covers form management libraries like React Hook Form and Formik, which optimize form handling and prevent unnecessary re-renders. Additionally, it mentions data fetching libraries like SWR and React Query, which provide hooks for fetching data from the backend. The paragraph also briefly touches on testing in front-end projects, acknowledging its importance while acknowledging the author's personal perspective on its practical implementation.

🌐 The Future of React and Next.js

This final paragraph discusses the transition from React to Next.js for building websites. It acknowledges that while React is still a viable option, Next.js is becoming the more popular choice, especially for open-source projects and companies. The author suggests learning Next.js if the goal is to dive into modern codebases, as it builds upon React but introduces its own set of patterns. For mobile app development, the paragraph recommends learning React Native, which has a smoother learning curve for React developers, and exploring tools like Expo.

Mindmap

Keywords

πŸ’‘DOM

DOM stands for Document Object Model. It is a programming interface for web documents that represents the structure of a web page. In the video, the speaker emphasizes understanding the DOM and how to manipulate it to create dynamic websites before React was introduced. This knowledge helps appreciate the challenges React aimed to solve and why it gained popularity for making front-end development easier.

πŸ’‘Reconciliation

Reconciliation is the process used by React to determine the most efficient way to update the user interface based on the current state of the application. The speaker suggests understanding reconciliation and how React works under the hood, as it is a key factor in React's performance. This concept allows React to selectively update only the necessary parts of the DOM, making it more efficient than traditional DOM manipulation.

πŸ’‘Components

Components are reusable building blocks in React that represent a part of the user interface. The speaker highlights the importance of understanding components, state, rendering, and props, which are fundamental concepts in React. Components encapsulate logic and UI elements, making it easier to manage and reuse code across an application.

πŸ’‘State

State in React refers to the internal data or condition of a component that determines its behavior and rendering. The speaker emphasizes understanding state and how it relates to components and rendering. Managing state effectively is crucial for building dynamic and responsive user interfaces in React applications.

πŸ’‘Hooks

Hooks are functions introduced in React 16.8 that allow developers to use state and other React features in functional components. The speaker highlights popular hooks like useState, useEffect, useMemo, useCallback, and useRef, which are essential for managing state, side effects, and performance optimizations in functional components.

πŸ’‘Prop Drilling

Prop drilling is an anti-pattern in React where data is passed down through multiple nested components, making the code harder to maintain and understand. The speaker suggests understanding prop drilling and solutions like the Context API or state management libraries to avoid this problem, especially as applications grow in complexity.

πŸ’‘State Management

State management refers to the practice of managing and centralizing the state of an application in a structured way. The speaker mentions popular state management libraries like Redux, Recoil, and Zustand, which help manage state more efficiently and prevent issues like prop drilling as applications grow larger and more complex.

πŸ’‘Routing

Routing in React involves managing the navigation and rendering of different components based on the current URL or route. The speaker highlights the importance of understanding routing libraries like React Router to create dynamic applications with multiple pages or views, as opposed to single-page applications.

πŸ’‘Styling

Styling in React refers to the process of applying styles and visual designs to components. The speaker mentions popular CSS-in-JS libraries like Tailwind, Material UI, Chakra UI, and Styled Components, which provide a structured and scalable approach to styling React components.

πŸ’‘Performance Optimization

Performance optimization in React involves techniques and libraries aimed at improving the efficiency and responsiveness of applications. The speaker discusses libraries like React Hook Form, Formik, SWR, and React Query, which optimize form handling, data fetching, and other performance-critical areas of React applications.

Highlights

Understanding the DOM and making dynamic websites is crucial before learning React, as it provides insight into the challenges React solves and why it was widely adopted.

Grasping the concept of reconciliation and how React works under the hood is essential for comprehending its inner workings and performance benefits.

Building a basic React application locally helps understand how React is a wrapper for generating HTML, CSS, and JavaScript code.

Mastering components, state, rendering, and props is necessary to create basic React applications and understand the framework's core concepts.

Learning hooks, such as useState, useEffect, useMemo, useCallback, and useRef, is vital for working with functional components and managing side effects.

Creating custom hooks allows separating state computation and component rendering, providing better code organization and reusability.

Prop drilling, the context API, and the suspense API are concepts to address state management and performance issues in larger React applications.

State management tools like Redux, Recoil, and Zustand help manage application state and prevent unnecessary re-renders for better performance.

Routing libraries like React Router are essential for building multi-page applications with different URLs and views.

Styling libraries like Tailwind, Material UI, Chakra UI, and Stitches UI are recommended for consistent and production-worthy styling in React applications.

Understanding the tooling behind bootstrapping a React application, such as Webpack, Babel, Create React App, and Vite, is beneficial but optional.

Performance improvements can be achieved using libraries like React Hook Form, Formik for form management, and SWR or React Query for data fetching.

While frontend testing is optional, it's a good practice to learn and can provide benefits in maintaining code quality.

Next.js is becoming the popular choice for writing websites, while React Native is the framework for building mobile apps.

Learning Expo can make it easier to get started with React Native development, especially for beginners.

Transcripts

play00:00

hi everyone complete react road map this

play00:03

video is going to cover basically a

play00:05

bunch of topics that I think is a good

play00:07

exhaustive list of topics to know if

play00:09

you're trying to get into react we'll be

play00:10

covering them in order and the goal is

play00:13

by the end of it you understand the

play00:15

topics to learn when you're trying to do

play00:17

react development Unfortunately today

play00:19

react isn't enough to write frontend

play00:21

projects before this video I was trying

play00:23

to go through a few open source projects

play00:24

trying to find one that's written in

play00:26

react couldn't really find a good

play00:27

company that's using react today most of

play00:29

them have basically move to next but the

play00:31

good thing is react is a prerequisite

play00:33

for next yes so this video basically

play00:35

considered it as a decent beginner road

play00:38

map to create front ends the way they

play00:40

were being created up until 2 years ago

play00:42

now as I said react is being used uh

play00:44

sorry next is being used for writing

play00:46

websites and react native is the thing

play00:48

that you need to learn if you want to

play00:49

write mobile apps but a great overview

play00:51

of how things were done up until 2 years

play00:53

ago let's get right into it let's begin

play00:55

with the first point understanding the

play00:56

Dom and making Dynamic websites at this

play00:59

point you need to understand what are

play01:01

Dynamic websites how are they different

play01:02

from static websites and how up until

play01:05

react was introduced um it was very hard

play01:08

to write Dynamic websites um in fact

play01:10

there were a few Frameworks that I used

play01:11

to use in college if you've heard of

play01:13

them I don't know there's one called

play01:14

jQuery that was fairly famous there's

play01:15

another one called backbone J that was

play01:18

the standard way to write not the

play01:19

standard way but like the only popular

play01:21

way that made it slightly easy to write

play01:23

Dynamic websites which was used for the

play01:25

longest time but then Frameworks like

play01:27

react or view came into the picture and

play01:29

and knocked these out of the park and

play01:31

react became the more popular way to

play01:33

write websites because it's more

play01:34

developer friendly compared to these

play01:36

Frameworks like jQuery to try to write a

play01:39

basic Dynamic website without using

play01:42

react preferably you don't even need to

play01:44

use jQuery or or backbone just write it

play01:47

in the completely raw way try to

play01:49

manipulate the Dom and understand what

play01:51

exactly Dom is the reason this is good

play01:53

is because you get an intuition as to

play01:55

what are the challenges or problems that

play01:58

react fixes why it got adopted so

play02:01

quickly because you know it made front

play02:03

end development very easy the reason it

play02:04

made it very easy was because it's very

play02:06

hard to do Dynamic websites because of

play02:08

the way the web is written all right

play02:09

that's number one number two

play02:11

understanding reconciliation and how

play02:12

react actually works under the hood you

play02:14

have to realize okay react is nothing

play02:16

but a lot of JavaScript code that makes

play02:18

it easy for you to write websites the

play02:20

way they were written until react was

play02:22

introduced a good analogy here is okay

play02:24

you today can use chat GPT to write some

play02:27

react code and under the hood react is

play02:29

just another way to write the raw HTML

play02:32

CSS JavaScript code that we've been

play02:33

writing for years the one that I'm

play02:35

writing you to write in point1 so the

play02:37

way chj is an easy way to write react is

play02:39

an easy way to write HTML CSS and

play02:41

JavaScript the raw way write HTML CSS

play02:44

JavaScript the raw way first then once

play02:46

you're good at it feel free to use react

play02:48

to write it in a different way once

play02:50

you're good at react then feel free to

play02:51

use an AI and make the AI write react

play02:53

code for you this is the general good

play02:55

trajectory to follow if you directly go

play02:57

to an AI and ask it to write code

play02:59

without learning the thing underneath

play03:01

it'll basically become a problem very

play03:03

quickly so keep this in mind and

play03:05

understand what is reconciliation this

play03:06

concept that sort of makes react

play03:09

performant and also like makes it do the

play03:11

things that it does all right number

play03:12

three react as a rapper bring some basic

play03:15

boiler plate react code locally to your

play03:17

machine look at it try to change it a

play03:19

little bit maybe create a simple to-do

play03:21

application or a calculator application

play03:23

and try to build the application when

play03:25

you build the application try to look at

play03:27

the final output that you get and you'll

play03:28

realize k this final output is just a

play03:31

bunch of HTML CSS and JavaScript files

play03:33

only you haven't written a lot of

play03:35

dynamic JavaScript code that you used to

play03:37

write react wrote it for you and that's

play03:39

what the benefit of react is so try to

play03:42

write a few applications build them and

play03:43

see the final output make sure you

play03:45

understand in the end react is nothing

play03:47

but it's writing my HTML CSS and

play03:49

JavaScript code for me more specifically

play03:51

just your JavaScript code this will also

play03:52

give you a decent idea of how to create

play03:54

a basic application in react from which

play03:56

you start to learn some technologies

play03:57

before you build some bigger projects

play03:59

but a b basic calculator app is

play04:00

something that you can build by this

play04:02

point all right number four components

play04:04

State rendering and props four Jaron you

play04:06

need to know of very frontend framework

play04:08

specific so not just react V also has

play04:10

the concept of components and state

play04:11

state and components are one a very

play04:14

jargon to understand two if you

play04:16

understand how they're related to each

play04:17

other and why this distinction was made

play04:19

between components in state is when

play04:21

you'll understand the power of react and

play04:23

you know why it was written The Way It

play04:25

Was Written so make sure you understand

play04:27

these four Jons State components

play04:28

rendering and props at this point you

play04:30

can create a very basic application

play04:32

probably create the twoo application

play04:34

after you understand these four things

play04:36

you yeah you probably need to know these

play04:37

four things before you can proceed all

play04:38

right at this point good checkpoint

play04:40

create a to-do application and move on

play04:41

to understanding this thing called hooks

play04:44

hooks weren't a concept in react for the

play04:46

longest time front-end Frameworks coding

play04:48

changes very quickly so react used to be

play04:50

written a certain way until 20 I don't

play04:52

know 18 19 and 20 remember and then came

play04:54

the concept of functional components

play04:56

which is a popular way to write react

play04:58

components today if you're dealing with

play05:00

functional components is when you sort

play05:02

of have to deal with something called

play05:03

life cycle events and to tap into these

play05:05

life cycle events or to get access to

play05:08

something called side effects you need

play05:09

something called hooks there are a few

play05:11

very popular hooks some of you might

play05:12

have heard of use State use effect use

play05:14

memo use callback use ref these are the

play05:16

basic ones that you need to know of

play05:17

understand a few use cases in these why

play05:19

they are used why they are popular and

play05:21

what extra benefit that they provide you

play05:23

cannot create an application without use

play05:25

state or use effect you can create

play05:28

applications without use call back and

play05:29

use memo but they give you some

play05:31

performance benefits so it's good to

play05:32

know all five of these is when you can

play05:34

proceed to writing your own hooks so

play05:37

Point number six is create your own set

play05:39

of custom hooks join a bunch of these

play05:41

hooks that I told you in the last point

play05:42

and try to create some hooks of your own

play05:44

uh they could solve a specific use case

play05:45

for example a hook to get all the to-dos

play05:48

for your to-do application or even

play05:50

better maybe a hook that hits your back

play05:52

end every 10 seconds and gets you the

play05:54

latest data on the back end this will

play05:55

give you an idea of how you can separate

play05:58

State computation and the final

play06:00

component rendering very well these

play06:02

things might make more sense after you

play06:04

you know start to learn this and and

play06:05

reach 7 or 6 these things might make a

play06:08

little more sense after you start to

play06:09

learn these things these terms might

play06:11

make a little more sense after you start

play06:13

to learn react and reach the stage but

play06:14

at a high level you need to know how to

play06:16

write your own components and you need

play06:18

to know how to write your own hooks with

play06:19

that seventh Point prop drilling context

play06:22

API and the suspense API um basically

play06:24

again as time goes by and I add more

play06:26

points here a lot of these are not

play06:28

needed but they're standard everyone

play06:29

uses them and there are good reasons why

play06:31

they were introduced but you can create

play06:32

any react application by everything you

play06:34

know up until this point should you no

play06:36

you should use all of these things that

play06:37

I'm going to talk about from here prop

play06:39

drilling is sort of an anti- pattern SL

play06:41

a problem in react it's a pretty popular

play06:43

interview question as well it's

play06:45

basically you passing down state

play06:46

component via component and you can get

play06:48

rid of it by doing State Management

play06:50

which is going to be the next point or

play06:51

you can use the raw context API that

play06:54

react provides you if you use the

play06:56

context API then you're only inside the

play06:58

react ecosystem system but if you move

play07:00

on to the next point which is State

play07:02

Management then you're also trying to

play07:03

get rid of this thing called uh prop

play07:05

drilling even more you're making your

play07:07

app more and more performant but you are

play07:09

adding an external library to your

play07:11

codebase that Library could be Redux if

play07:13

you've heard of it recoil zo stand there

play07:15

are a bunch of other popular state

play07:17

management Frameworks all of these the

play07:19

goal is the same okay number one as your

play07:21

application grows you want to manage

play07:24

your state the thing that I talked about

play07:26

in point number four you want to manage

play07:28

your state a little bit better and you

play07:29

want to prevent a lot of reenders in

play07:31

your application making it more

play07:33

performant for that you need an external

play07:35

Library react does not provide you this

play07:36

out of the box react does provide you

play07:38

the context API but the context API is

play07:41

not enough to make your application more

play07:43

performant it is enough to get rid of

play07:45

proper Drilling in your application

play07:47

though all right Point number eight

play07:48

State Management tools Point number nine

play07:51

routing if you're creating a more

play07:52

Dynamic application your application is

play07:54

going to have a bunch of pages for

play07:56

example Facebook has your feed page and

play07:58

then a messages page and then and your

play07:59

friends feed so on and so forth all of

play08:01

these usually have different URLs in the

play08:03

URL bar and react is what's called a

play08:05

single page application so it needs to

play08:07

support you know handling routes and you

play08:09

know changing the current view based on

play08:10

the current route that you're on for

play08:11

that there are a few standard popular

play08:13

libraries again feel free to pick anyone

play08:15

and understand how you can create a

play08:17

basic real application which has

play08:18

multiple Pages not just one if you've

play08:20

only created a Todo application or a

play08:21

calculator application you probably did

play08:23

not have too many pages but as you

play08:24

create a real application you will you

play08:26

know have 100 Pages sometimes so routing

play08:28

is sort of important and if you open big

play08:30

code bases you will see all the routing

play08:31

is done in like a single separate fight

play08:33

number 10 styling at this point you can

play08:35

create a bunch of ugly websites you

play08:37

probably don't want to create them in

play08:38

production if you're creating a real

play08:39

website you need to style it very well

play08:41

you can use raw CSS in react no one's

play08:44

preventing you from it but usually there

play08:46

are standard CSS libraries for doing

play08:48

styling across your application they're

play08:50

all opinionated in in their own ways um

play08:53

there's one called Tailwind material UI

play08:56

and if you want to get into the big

play08:57

players today there's one called TRX UI

play08:59

and Shad CN I have a detailed video on

play09:02

what you should choose in case you're

play09:04

thinking of creating a production worthy

play09:05

application tldr is tawi is probably the

play09:08

right choice feel free to go through

play09:09

that video but you need to spend a

play09:10

decent chunk of your time here getting

play09:12

comfortable with at least one styling

play09:14

library number 11 this one's sort of

play09:17

optional but again good to know

play09:18

understanding the tooling behind

play09:20

bootstrapping a react application how it

play09:22

is built what is webpack what is pabble

play09:24

what is create react tab why it's not

play09:27

great and then what is weat how it came

play09:28

into a picture to replace create react

play09:30

app all of these are tooling these are

play09:33

things you do once for your application

play09:34

or if you're you know making a very big

play09:35

change in your application introducing

play09:37

something very weird for example if

play09:38

you're creating a Chrome extension then

play09:40

you have to worry about these things

play09:41

usually you just bootstrap your

play09:43

application and and are good to go but

play09:45

these are good to know and usually asked

play09:46

a lot during interviews number 12

play09:49

performance improvements or some common

play09:51

libraries that you will see being used

play09:53

across a lot of code bases because they

play09:55

give you some extra performance benefits

play09:57

which are easy to miss if you're you

play09:58

know writing react code for the first

play10:00

time the first set of libraries where

play10:02

you will see this is forms so if you're

play10:04

creating a form in react it's very easy

play10:06

to write it in an extremely unperformed

play10:08

way to fix that a lot of smart people

play10:09

have written libraries the two popular

play10:11

ones are react hook forms and formic

play10:13

high level what happens is if you do

play10:16

form management yourself anytime you're

play10:18

changing a form input field you do a r

play10:20

render and the golden rule of thumb in

play10:23

react is you have to minimize the number

play10:24

of R renders so to prevent that you can

play10:26

either write some really ugly code like

play10:28

you used to before react was introduced

play10:30

basically do Dom manipulation or Dom

play10:32

access yourself or you can use these

play10:34

libraries like um react hook forms that

play10:37

pretty much under the hood do the same

play10:38

thing and you give you a lot of

play10:40

performance out of the box you don't

play10:41

have to worry about this performance at

play10:42

all if I'm being honest you won't notice

play10:44

it on a website you will notice it in a

play10:45

mobile app though so if you're going to

play10:47

eventually use a react native it's good

play10:49

to get comfortable with these libraries

play10:50

all mobile projects most mobile projects

play10:52

will use some Library like this to make

play10:55

forms more performant else your

play10:57

application you know will be really slow

play10:59

right the other set of libraries you'll

play11:00

see is libraries for fetching data from

play11:02

the back end um these libraries give you

play11:04

a lot of hooks which is something we

play11:06

talked about a few points ago that make

play11:08

it slightly easy for you to fetch data

play11:09

from the back end popular ones are s SWR

play11:11

and react query lastly testing this

play11:14

one's optional uh if I'm being honest I

play11:17

I don't see too much point in front end

play11:18

tests I could totally be wrong and this

play11:20

could be a controversial take and this

play11:22

could cancel me but I've seen most open

play11:25

source projects good projects otherwise

play11:27

it's very hard for you to you know

play11:29

maintain a lot of coverage in front end

play11:31

tests is it a good thing to know

play11:32

probably I I don't think there's any

play11:33

downside to learning how to write tests

play11:35

on a frontend codebase that said I've

play11:37

mostly seen people being finicky SL you

play11:39

know very strict when it comes to pack

play11:41

in tests but people are okay if you

play11:42

check in a component without writing the

play11:44

test for it so feel free to pick and

play11:46

choose whether or not you want to do

play11:47

this point lastly that's a high level of

play11:50

the react road map I think if you know

play11:52

all of this you know 80 85% of what

play11:55

react has to offer but as I said react

play11:57

is no longer the popular choice when it

play11:59

comes to writing websites next J is

play12:02

slowly becoming that a lot of the react

play12:04

team has moved over to versel who's the

play12:05

pent company of next and there are good

play12:08

reasons for it um so at this point you

play12:10

can either write react websites on your

play12:12

own but if you want to dive into open

play12:13

source projects especially the new ones

play12:14

like not g projects but like good

play12:16

companies um you will notice all the

play12:18

good bses are in next which is frankly

play12:19

not too hard to pick from this point but

play12:21

it has its own set of you no aners that

play12:24

are good to know but a lot of it is just

play12:25

react code and writing components so not

play12:27

too hard to learn but at this point you

play12:28

have to choose whether or not you want

play12:30

to stay and react uh which is also good

play12:32

but preferably probably learn nextg and

play12:35

if you want to write mobile apps then

play12:36

learn um react native it's very easy to

play12:39

learn react native if you know react um

play12:41

that said mobile is hard uh so you will

play12:44

face a bunch of challenges when you make

play12:45

this transition it's also good to know a

play12:47

little bit you know how Android

play12:48

development and iOS development actually

play12:50

works under the hood and how react

play12:51

native is just you know a rapper on top

play12:52

of native there's something called Expo

play12:54

that makes it slightly easy for you to

play12:56

write react native code initially at

play12:58

least and probably maybe even forever so

play13:00

look into that in case you're thinking

play13:01

of writing mobile apps and and don't

play13:03

write them in raw react native at least

play13:04

initially that's high level of the react

play13:06

road map I think I've covered everything

play13:08

maybe a little bit more of what's being

play13:10

covered in the code as well so feel free

play13:12

to learn it from any resource I think

play13:14

I've covered all the Top If you like

play13:15

such videos let me know if there's a

play13:16

specific niche in which you want me to

play13:18

make such a video let me know that as

play13:20

well I'm happy to do that with that

play13:21

let's end it I'll see you guys in the

play13:23

next one

play13:27

bye-bye

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
ReactFrontendWeb DevelopmentRoadmapJavaScriptBeginner-FriendlyCareerLearning PathCodingTutorials