Custom React Hooks Crash Course: Learn Hooks Through 6 Apps
What you'll learn
- Build Custom React Hooks from scratch through 6 different apps
- Explore different patterns for Custom React Hooks
- Learn to use multiple Custom Hooks together
- Advanced hooks usage: reducers, testing React Custom Hooks
Requirements
- Basic JavaScript/TypeScript experience
- Basic understanding of React, such as built-in hooks, JSX, and syntax
Description
In this course, through 6 small applications, we'll recreate hooks and patterns that are commonly used in production web applications.
We'll learn how to encapsulate generic utility functions, fetches, business logic, or any code we want to reuse in Custom Hooks.
We'll use create-react-app as the starting port for every application, React 18 and TypeScript.
The lectures will cover:
Introduction to Custom Hooks (Counter app)
Structure of a Custom Hook (Toggle component)
Lifecycle in Custom Hooks (Weather dashboard)
Sharing Logic with Custom Hooks (useForm hook + localStorage)
Custom Hooks with Context API (Theme Switcher)
Advanced Patterns and Best Practices (Todo app)
Testing Custom Hooks (Counter app tests)
This course aims to show you different types of Custom React Hooks in various scenarios so you can learn, recognize, and apply these patterns to your application.
Working Through This Course
Every example app is built with Create React App. This was the easiest way for me to create React apps I can work with that don't have any unnecessary clutter, but these patterns can be applied in any React application, no matter how they are created.
This course is broken down into lectures and in each lecture you'll build a different app, and in some you'll even reuse some of the hooks you created earlier. The course is a practical, hands-on approach to learning through practice. You learn best when you code along with the examples.
Resources
All example apps are in custom-react-hooks-course Zip, In Lecture 1. > Introduction.
Who this course is for:
- React developers working on large scale projects
- React developers looking to prepare for coding interviews
- React developers who are curious about creating reusable code through Custom React Hooks
Instructor
I started programming in C almost two decades ago, but discovering web applications early on has completely changed my life.
Over the past 10 years, I went from a Junior Developer to a Senior Software Engineer, tried freelancing and contracting, and finally launched my own company where I built software for clients from the ground up in various industries, such as e-commerce, civil engineering, gaming, and business process management.
For the past 7 years, I've primarily worked with JavaScript, TypeScript, React, and Node.js.
In my free time, I write my blog, which is full of helpful developer tutorials, and my newsletter, which helps developers get ahead in their careers.