Mô tả

Hi, welcome to this course, on Advanced React. If you are exploring this course, chances are high that you’re a React developer looking to level up your skills. In this case, You are in the right place!

The promise of this course is simple: By attending this course you will become the React wizard at your company!

In this course, we touch on unique topics in several modules including, design systems, design patterns, performance optimization, and advanced Typescript with React.

If you're curious about the significance of these topics, the explanation is straightforward. Seasoned developers effectively oversee enterprise-level front-end projects by implementing the best practices associated with these key areas.

If you are a junior or intermediate developer then you will need to master these topics to consider yourself as a senior developer and become ready to apply for senior positions.

All the materials of this course are based on years of experience working on several React projects and every single concept comes with concrete examples.

All the topics are presented with practical real-world examples so you can apply everything in your day-to-day projects right after.

At first we discuss design patterns.

As a senior software developer, I have identified the topics covered in this module as crucial elements that I seek when interviewing React developer candidates. These patterns can help bridge the gap between being a junior or intermediate developer and becoming a senior React practitioner.

By finishing this part, you'll have the opportunity to explore React's most essential design patterns.

There is also a section about some advanced concepts and hooks and their use-cases as they can help you tackle some challenges in the related scenarios.

Then you will learn all about design systems. Managing large-scale projects is not just about coding components. Developing endless components without losing track requires solid design systems to guarantee the reusability and maintainability of every element of the project. We will walk you through the concepts and theory, then we develop some basic components in Figma and finally, we build an extensible foundation of design in ReactJS. So you build a mindset of how to design and develop a clean and reusable design system. The greater focus of this module will be on encapsulating styles to guarantee more reusability across your component library.

Then we get to the optimization part. A very serious concept in React. A poorly optimized application with unwanted renders can sink the whole project. But the good news is that optimizing React apps can be very easy and sweet. In this module, we will be working on a demo project that suffers from performance issues such as wasted renders and expensive operations. At the end of this module, You will know how to troubleshoot and fix most performance issues in React applications.

We also teach you some tips about clean code in React. In this section we explore concepts such As props along with optimizing some performance issues with the Context API.

Last but not least, we explore Typescript the React way! In this module you will learn how to effectively use TypeScript with React components, ensuring that you utilize the appropriate properties. Additionally, discover how to employ the Context API, React Hooks, and type props in order to develop more resilient and type-safe applications on a larger scale!

** Bonus: React Router V6 Complete Course**

We added a 5-starts bonus course about React Router version 6. With this module you will learn all the features of React Router by building a full-stack book-shop that demonstrate the best practices of implementing React Router.

So long story short, if you wish to tackle all these interesting topics and bring your skills to the next level, then join me in this course!

This course will be under continues progress and more modules will be added based on the students feedbacks!

Bạn sẽ học được gì

Go from junior/intermediate frontend developer to senior developer

Learn to develop your React applications THE REACT WAY

Design and develop enterprise level design systems for high reusable and maintainable component library

Master the advanced component patterns including HOCs, Containers, Custom hooks and ReactJS functional programming

Know when to use patterns like controlled/uncontrolled components over other design patterns

Optimize the performance of your React applications by using memoization techniques

Become expert in locating wasted renders in your React projects and tackling them using React features

Understand and Use Typescript the React way like expert developers.

Use the React Hooks, Context API, and type props to build robust and reliable Typescript apps that scale

Yêu cầu

  • Basic knowledge in React is required

Nội dung khoá học

32 sections

Introduction

3 lectures
Starting Point
01:25
Course Walk-Through
03:55
Requirements
00:49

Design Patterns: Layout Components

7 lectures
What are design patterns
02:17
Introduction
02:10
Screen Splitter
07:46
Screen Splitter Enhancement
06:56
Lists
14:07
Lists Types
07:12
Modals
09:41

Design Patterns: Container Components

8 lectures
Introduction
01:47
Server Setup
03:44
Loader Component for CurrentUser Data
08:53
Loader Component for User Data
03:06
Loader Component for Resource Data
05:08
DataSource Component
06:38
Container Component with Render Props Pattern
06:12
Local Storage Data Loader Component
03:14

Design Patterns: Controlled and Uncontrolled Components

7 lectures
Introduction
02:36
Uncontrolled Components
06:38
Controlled Components
06:39
Controlled Modals
07:12
Uncontrolled Flows
09:27
Collecting Data
06:43
Controlled Flows
07:55

Design Patterns: HOCs

6 lectures
Introduction
01:58
Checking Props with HOC
06:56
Data Loading with HOC
05:57
Updating Data with HOC
10:04
Building Forms with HOC
06:48
Enhancing HOC Pattern
12:02

Design Patterns: Custom hooks

5 lectures
Introduction
01:43
Fetching a user with Custom Hook
04:49
Fetching users with Custom Hook
02:20
Fetching a Resource with Custom Hook
03:23
a More Generic Custom Hook
11:54

Design Patterns: Functional Programming in React

4 lectures
Introduction
02:36
Recursive Components
07:26
Compositions
05:07
Partial Components
05:16

Design Patterns: More Patterns

2 lectures
Compound Components
10:11
Observer Pattern
13:07

Advanced Concepts and Hooks

12 lectures
React Portals
07:18
Forwarding Refs
05:14
Error Boundaries
11:50
Keys Explained
07:04
Event Listeners
03:02
useLayoutEffect
07:47
useId
06:58
useCallback As Ref
06:33
useImperativeHandle
11:15
useDeferredValue
10:24
useTransition
09:09
Async React Router
20:08

Clean Code Tips

3 lectures
Using Element Prop
04:57
Optimizing Context API
16:50
Less useEffects
07:24

Scalable Project Architecture

3 lectures
General Architecture
09:40
Route Components
04:13
Encapsulating Components and Logics
07:32

API Layer and Async Operations

7 lectures
Building an API Layer
14:53
API States
15:02
Enhancing The API States
14:05
Avoiding Flickering Loaders
09:08
Abstracting API States and Fetching Logic
09:59
Adding Request Abort Logic
29:03
Logging Errors
05:24

API Layer with React-Query

6 lectures
Server Setup and a Quick Fix to withLogger Function
02:29
Fetching Data with React-Query
08:10
Updating Data with React-Query
14:06
Pagination with React-Query
06:45
Infinite scroll with React-Query
08:19
Query Cancellation with React-Query
08:36

State Management Patterns

2 lectures
Immutable updates with useImmer
12:06
Cleaner reducer with useImmerReducer
07:55

Performance Optimization

7 lectures
Code-Splitting and Lazy-Loading
10:28
useCallback hook to preserve referential integrity
11:09
Avoiding re-renders with useMemo
03:00
State Collocation
02:06
Preventing re-renders by lifting components up
02:54
Throttling
08:10
Debouncing
07:53

Design System: Core Concepts

9 lectures
What is a design system
00:53
The importance of having a design system
03:00
Down sides of design systems
02:01
Team Structure
02:15
Audience of design systems
01:13
A real-life example
02:56
The key concepts of design systems
01:04
A practical checklist
02:41
Mistakes to avoid
01:18

Design System: Building Components Using Figma

4 lectures
Section Overview
00:38
Hands-on Color Palette in Figma
07:36
Hands-on Button Building Practice
05:42
Hands-on Designing a Modal
09:20

Design System: Developing Components in React

4 lectures
Extensible Foundations
09:36
Creating Button Component
09:28
Building a Modal
10:24
Reusability and Encapsulating Styles
03:38

Design System: Encapsulating Styles

2 lectures
Style Compositions
07:39
Encapsulating Styles
05:22

Design System: Patterns for Spacing

7 lectures
Overview
00:50
Layers Pattern
13:08
Split Pattern
09:46
Column Pattern
14:20
Grid Pattern
09:24
Inline-Bundle Pattern
09:23
Inline Pattern
20:38

Design System: Patterns for More Complex Styles

6 lectures
Overview
02:31
Pad Pattern
14:25
Center Pattern
08:30
Media-Wrapper Pattern
11:10
Cover Pattern
14:43
Revisiting the Modal
14:29

Design System: Final Project

5 lectures
Project Assignment
02:09
Solution Building a Navbar with Menu and Header
12:17
Solution Building a Sidebar Menu
14:53
Solution Building the Form
16:31
Solution Finishing Buttons
05:32

Advanced Typescript: Introduction

1 lectures
Requirements
01:42

Advanced Typescript: Typing Hooks

10 lectures
useState
11:15
State without initial state
08:11
Passing States and Events Part1
04:06
Passing States and Events Part2
06:02
Refactoring Passing States and Events
06:52
Typing useRef
04:46
Typing Returned Values of a Custom Hook
02:17
Typing Complex States
02:20
Typing Complex States Part2
02:20
Tuples with Custom Hooks
03:51

Advanced Typescript: Typing Reducers

5 lectures
Typing Reducers
14:50
Passing Dispatch as a Prop Part1
12:08
Passing Dispatch as a Prop Part2
08:23
Template Literal Types
05:38
Action and Reducer Types
05:30

Advanced Typescript: Typing Context API

1 lectures
Context API with Types
11:51

Advanced Typescript: Using Generics

13 lectures
Utility types
13:36
Generics with Template Literals
05:15
More on Generics
08:22
Building a Context with Generics
11:06
Consuming a Custom Context
09:46
Building a Type Helper
06:24
Another Type Helper
06:34
Generic Constrains
03:17
Typing a Hook with Generics
03:48
Inferring Generic Types
03:38
Generic Components
04:28
Passing Types to Components
02:57
Reconsidering Generics
04:53

Advanced Typescript: More on Typescript

2 lectures
Types vs interfaces
01:48
Function overloads
09:54

Advanced Typescript: Component Patterns

6 lectures
Higher Order components Part1
08:06
Higher Order components Part2
14:54
Render Props
09:03
Custom Hooks
04:18
Limiting Prop Composition
13:25
Requiring prop Composition
15:52

Bonus

3 lectures
Render Props
11:34
Wrapper Component
07:51
Polymorphic Component
06:05

Appendix A - Typescript Basics

15 lectures
Typescript via Intellisense
03:07
Defining Type of Props
05:20
Migrating From JS to TS Exercise
08:05
Defining Types for Children
07:56
Extending Props with Helpers
04:40
Props with Variant Types
03:04
Requiring Props
03:12
Differentiating Props
04:28
Empty Object as Type
01:59
Empty Object and Requiring Props
02:39
Understanding ReactNode
03:36
Linking Types
04:32
Partial Autocomplete
03:39
Extracting Types with as const
05:50
Dynamic Props
05:46

---LEGACY--- Performance Optimization

15 lectures
The demo project
02:25
Getting up and running with the demo codes
05:05
Introduction to the React Profiler
01:24
Introduction to React Rendering
01:51
The Virtual DOM
01:34
Preventing Wasted Renders in a Simple Component
08:37
Preventing Wasted Renders in Functional Components
05:38
Preventing Wasted Renders When Dealing With Complex Props
08:50
Using Immutable Data in Order to Allow for Comparisons
07:46
Preventing Wasted Renders in Repeated Components
03:56
Resources
00:10
Catching Expensive Operations
08:38
Reducing Bundle Sizes
05:23
Lazy Loading Components
08:46
Resources
00:10

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.