We may earn an affiliate commission when you visit our partners.
Course image
David Joseph Katz

You should take this course if you want to learn about React Hooks in a time-efficient and thorough way.

What are React Hooks?

React hooks are the largest update to React since its inception.

Hooks are a way for function components to “hook” into React functionality. Previously, when you wanted React components to have state or side effects, you needed to extend the base React Component class. Now, function components need only to apply a hook to gain this functionality.

Should I care about hooks?

Read more

You should take this course if you want to learn about React Hooks in a time-efficient and thorough way.

What are React Hooks?

React hooks are the largest update to React since its inception.

Hooks are a way for function components to “hook” into React functionality. Previously, when you wanted React components to have state or side effects, you needed to extend the base React Component class. Now, function components need only to apply a hook to gain this functionality.

Should I care about hooks?

As a web and React developer, and software engineer, you should definitely care about React hooks. This feature is the future of React. Since the feature is still so new, learning React hooks will set you apart as a web developer and engineer.

When I first started exploring hooks, I was pleasantly surprised at the simplicity of the API. I was expecting to need a huge mental shift. But as I continued to create new components with hooks, I started to see the power of the new paradigm. If anything, I find React even more elegant than I did before.

In this course, you’ll learn what hooks are, how they work, and why they’re so exciting. Here’s the course journey:

  • Dive into React hooks right away. You’ll gain relevant experience as soon as the first section. Time is a precious resource. And I want to make sure you feel like you’re spending your time wisely with this course. So in a matter of minutes, you will be writing React hooks code by building an application.

  • Build an interesting React app to explore hooks. The first project of the course is an application called Home. Home can serve as the home page of your browser. It has a bunch of useful widgets like a custom search bar, a photo gallery, a list of the latest hacker news, and more. It has a variety of use cases that will cover the essentials of React hooks.

  • Understand coding hurdles with hooks. When learning hooks, like any new technology, it will require a little bit of a mental shift. There’s a few coding hurdles to get through, and this course will show the right way to approach those situations.

  • Learn how hooks work under the hood. It’s not necessary to deep dive into the React engine to code with hooks. But it’s extremely helpful to explore how React works underneath the surface layer. So this course is going to dig deeper and give you that under the hood perspective of React with hooks.

  • Explore interesting cases with JavaScript and hooks. Hooks have a simple API. You call them as functions. But their behavior may not always align with your expectations as a JavaScript developer. In this course, you’ll cover a handful of interesting cases that appear when you try to jive hooks with JavaScript functionality.

  • Look at the big picture and answer the question of why. Why were hooks introduced to React - an already well established framework? Throughout the course, you’ll get the answer in tidbits throughout various videos. In addition, there will be a section completely devoted to answering this more thoroughly.

  • Build a project to master hooks. The second project in the course is an app called Reaction. This multi-user application allows people to share messages and react to them with emojis. The intent of the project is to give you the chance to both master previous material, and learn more advanced concepts with out of the box hooks.

[2023 Update]

Also, this course contains optional content in Nextjs, React 18, and In-Depth JavaScript. Continue your learning React journey beyond hooks, here in this course.

Nextjs and React 18 are the modern ways to make a React application. In this course, you will also build a production-level Nextjs and React 18 project. During the Nextjs and React 18 project section, you will:

  • Go more into depth with server and client components.

  • Learn Nextjs server actions.

  • Explore the React 18 useTransition hook.

  • Expand upon Nextjs fundamentals, and create a shared layout structure.

  • Create dynamic segments with Nextjs and learn generateStaticParams.

  • Explore React Suspense and React lazy.

  • Dive deeper into advanced Nextjs hooks like useSelectedLayoutSegments, and useSearchParams.

  • Explore the React 18 useDeferredValue hook.

  • Learn how to deploy a Nextjs application.

Then follow with a bounty of In-Depth JavaScript content. During the In-Depth JavaScript section, you will find videos on:

* The Console, Operators, and Variables, Arrays, Objects.

* Functions - Declarations vs. Expressions, and Arrow Functions

* Methods and the `this` Keyword

* Callbacks

* A Dynamic Language and Types - "Almost Everything is an Object"

* Equality and Type Coercion

* Let, Const, Mutability, Var, and Scope

* Interview Question | Scope and Hoisting

* Template Literals and Ternary Operators

* The Property Shorthand and Destructuring Assignment

* JSON parse, JSON stringify, Custom and Lodash CloneDeep

* Closures

* Function Factories, and Higher Order Functions

* Prototypes and the Prototype-Based Inheritance, Object Prototype, proto, and the prototype chain

* Asynchronous Code with SetTimeout

* Fetch and Promise from Scratch

* JavaScript Engine and Runtime

* Await and Async

In summary, you should take this course if you want to learn React Hooks in a time-efficient way, while building relevant and engaging projects.  Again, even if you only complete the preview content, you’ll walk away with a lot of valuable lessons learned.

See you there.

Promo music provided by Ben Sound.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Updated for 2022-2023: learn how to code with react js and react hooks from an engineer with 5+ years of industry experience.
  • How to code with react hooks: usestate, useeffect, usereducer, usecontext, and more.
  • An understanding of why react hooks were introduced.
  • A knowledge of how react hooks works under the hood at the react engine and runtime layer.
  • A grasp of how react hooks fits the mental model of react better than other patterns.
  • How to set up data fetching with the react hooks pattern.
  • How to build complete react applications using hooks.

Syllabus

Introduction
What You’ll Get From this Course
React Core Concepts Review
Required: Software Installations and Course Repo
Read more
Optional For Windows: Install Windows Subsystem for Linux and VSCode
Project One - Dive into Hooks Development
Project One Preview
Set Up Project One | Revised
First Hook: UseState | Revised
UseEffect
Challenge and Code: Stories Component with UseEffect | Revised
Build a Custom Hook: useFetch
[Optional] Function Keyword vs Arrow Functions
Section Summary and Section Code
Hooks Under the Hood
Section Preview - Hooks Under the Hood
The React Runtime and How React Applies Hooks
UseState Under the Hood
Tasks Component Part 1: Multiple useState hooks
Tasks Component Part 2
The Order of UseState
Local Storage for Tasks
Project One Continued - Learn More React Hooks
Hooks with an Interval
Effects with Cleanup
Dynamic Delay and Increment
Challenge and Code: Matrix Component
Build a Custom Hook: useDynamicTransition
Reflection on Hooks - the Why
The Why of Hooks
Project Two - Master Hooks Development
Project Two Preview
The Reducer Pattern Overview
Set Up Reaction App
Reactions Reducer State
UseReducer for Tasks | Part 1
UseReducer for Tasks | Part 2
PublishMessage Component
Challenge and Code: MessageBoard Component
UseContext and a Custom Context Hook
The PubSub and Reducer Architecture
Explore PubNub
PubSub Function and Reducer Connection
Set Username
CreateReaction Component
Reactions Reducer flow
Publish Reactions
MessageReactions Component
Next.js and React 18 Project | React 18 useTransition and useDeferredValue hooks
React Fundamentals and Client vs. Server Components In Depth
Start the Next.js and React Project
Link to Pages with Next/Link | Grid Item
Style with Tailwind CSS
Next.js Fonts and Responsive Design
Connect Page Setup
Next.js Client Components
Next.js Server Actions (get-followers)
Mailjet API post-contact Server Action and Next.js Environment Variables
React 18 useTransition and Create Contact Form
Next.js Layout Structure, Loading.js, and Global Components
Next.js Dynamic Segments and generateStaticParams | record/[id]
Next.js generateMetadata | record/[id]/page.js
React Suspense and React lazy | Embed
Next.js not-found and Route Groups
Nested Dynamic Segments | record/[id]/[content]
Breadcrumbs Component and Next.js useSelectedLayoutSegments | nav-title
Optional Reference Content: Mega JavaScript Overview
Optional Mega JavaScript Overview Part 1
Optional Mega JavaScript Overview Part 2
Optional In-Depth JavaScript
The Console, Operators, and Variables
Booleans and Conditionals
Syntax - Semicolons and Comments
Undefined and Primitives
Arrays
Objects
Loops and Iteration
Functions - Declarations vs. Expressions
Arrow Functions
Methods and the `this` Keyword
More on `this` and Function Expressions vs. Arrow functions
Interview Question | The `this` Keyword
Callbacks
Interview Question | Callbacks
A Dynamic Language and Types
Almost Everything is an Object
Equality and Type Coercion
Truthy and Falsy
Null vs. Undefined
Explicit Type Conversion
Interview Question | JavaScript Types
Let, Const, and Mutability
Let, Const, Var, and Scope
Var and Function Hoisting
Interview Question | Scope and Hoisting
Template Literals and Ternary Operators
The Property Shorthand and Destructuring Assignment

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches Redux, a state management library for React, as a core skill
Covers data fetching with the React hooks pattern, a highly relevant technique for modern web development
Develops a strong foundation in React hooks, which are essential for building modern React applications
Taught by David Joseph Katz, a well-known React engineer with extensive industry experience
Explores interesting cases with JavaScript and hooks, providing a deeper understanding of the React ecosystem
Provides an optional overview of In-Depth JavaScript, covering essential concepts for web development

Save this course

Save React Hooks Tutorial - Master React Hooks Development to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in React Hooks Tutorial - Master React Hooks Development with these activities:
Practice Building React Components with Hooks
Regularly practice building React components with hooks to enhance your understanding and proficiency in using them.
Show steps
  • Create a new React application using your preferred method (e.g., create-react-app, Vite, etc.).
  • Add the dependencies for React and React Hooks to your project.
  • Create a simple React component and add it to your application.
  • Iterate on your component by adding React Hooks to add state, handle events, and perform other tasks.
Build a React App to Display Real-Time Data
Developing a practical application using real-time data will deepen your understanding of how hooks enable interactive and responsive React apps.
Show steps
  • Plan your app and determine the data you want to display.
  • Set up a real-time data source (e.g., using Firebase or Socket.io).
  • Create a React component to fetch and display the data in real-time.
  • Deploy your app and test its functionality.
Create a Custom React Hook for Data Validation
By building a custom hook for data validation, you'll gain a comprehensive understanding of how to extend React's functionality for specific needs.
Show steps
  • Identify the data validation requirements for your project.
  • Design the logic for your custom hook.
  • Implement the hook and test its functionality.
  • Integrate the hook into your React components and verify its effectiveness.
Show all three activities

Career center

Learners who complete React Hooks Tutorial - Master React Hooks Development will develop knowledge and skills that may be useful to these careers:
React Developer
React Developers develop and maintain React applications. They are responsible for ensuring the quality of React applications, and fixing any issues that may arise. This course will help you build a foundation for a career as a React Developer by teaching you the fundamentals of React. You will learn how to use React to create engaging, easy to use GUIs for web applications.
JavaScript Developer
JavaScript Developers develop and maintain JavaScript applications. They are responsible for ensuring the quality of JavaScript applications, and fixing any issues that may arise. This course will help you build a foundation for a career as a JavaScript Developer by teaching you the fundamentals of JavaScript. You will learn how to use JavaScript to create engaging, easy to use interfaces for web applications.
Software Architect
Software Architects design and develop the architecture of software applications. They are responsible for ensuring that software applications are scalable, reliable, and secure. This course will help you build a foundation for a career as a Software Architect by teaching you the fundamentals of React. You will learn how to use React to create engaging, easy to use GUIs for web applications.
Computer Scientist
Computer Scientists research and develop new computing technologies. They are responsible for creating new algorithms and data structures, and for designing new ways to use computers. This course will help you build a foundation for a career as a Computer Scientist by teaching you the fundamentals of React. You will learn how to use React to create engaging, easy to use GUIs for web applications.
UI/UX Designer
UI/UX Designers create the look and feel of websites and applications. They are responsible for ensuring that websites and applications are easy to use and visually appealing. This course will help you build a foundation for a career as a UI/UX Designer by teaching you the fundamentals of React. You will learn how to use React to create engaging, easy to use GUIs for web applications.
Front-End Developer
Front End Developers create interfaces for users to interact with when using web applications. This course will help you build a foundation for a career as a Frontend Developer as it covers the fundamentals of the React framework, which is used to create engaging, easy to use GUIs for web applications.
Web Developer
Web Developers create and maintain websites and applications. They are responsible for both the frontend and backend of a web application. This course will help you build a foundation for a career as a Web Developer as it covers the fundamentals of the React framework, which is used to create engaging, easy to use GUIs for web applications.
Technical Writer
Technical Writers create documentation for software and hardware products. They are responsible for explaining how products work, and how to use them. This course will help you build a foundation for a career as a Technical Writer by teaching you the fundamentals of React. You will learn how to use React to create engaging, easy to use documentation.
Software Engineer
Software Engineers apply concepts of computer science and engineering to the development of software. They are responsible for designing, coding, and testing software applications, and ensuring the quality of software products. This course can help you develop the skills necessary for this role by teaching you how to use modern tools to develop software applications. This course may help you build a foundation for becoming a Software Engineer.
Product Manager
Product Managers are responsible for the development and execution of a product's strategy. They are responsible for defining the product's vision, roadmap, and features. This course will help you build a foundation for a career as a Product Manager by teaching you the fundamentals of React. You will learn how to use React to create engaging, easy to use GUIs for web applications.
Full-Stack Developer
Full Stack Developers write code that is used to implement the backend of both web and mobile applications. Working as a Full Stack Developer requires you have a strong grasp of the building blocks of web applications, this course can help you build this foundation. In this course, you will learn how to implement an application's backend using the React framework. You will implement functions that route URL requests to backend functions, and learn how to receive and store data from a server. This course may help you build a foundation for becoming a Full Stack Developer.
Computer Programmer
Computer Programmers write code that is used to implement the backend of both web and mobile applications. Working as a Computer Programmer requires you have a strong grasp of the building blocks of web applications, this course can help you build this foundation. In this course, you will learn how to implement an application's backend using the React framework. You will implement functions that route URL requests to backend functions, and learn how to receive and store data from a server. This course may help you build a foundation for becoming a Computer Programmer.
Data Analyst
Data Analysts collect, analyze, and interpret data to help businesses make informed decisions. They are responsible for identifying trends, patterns, and insights in data. This course may help you build a foundation for becoming a Data Analyst as it covers the fundamentals of React, which can be used to create dashboards and other data visualization tools.
Business Analyst
Business Analysts help businesses improve their performance by analyzing their processes and systems. They are responsible for identifying areas for improvement, and developing and implementing solutions. This course may help you build a foundation for becoming a Business Analyst as it covers the fundamentals of React, which is used to create easy to use dashboards and other tools that can help businesses analyze their data.
Project Manager
Project Managers are responsible for planning, organizing, and executing projects. They are responsible for ensuring that projects are completed on time, within budget, and to the required specifications. This course may help you build a foundation for becoming a Project Manager as it covers the fundamentals of React, which can be used to create project management tools.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in React Hooks Tutorial - Master React Hooks Development.
Provides a comprehensive guide to React, including how to use React Hooks. It valuable resource for anyone who wants to learn more about React.
Provides a deep dive into the JavaScript language, including many of the concepts that are used in React Hooks. It valuable resource for anyone who wants to learn more about JavaScript.
Provides a comprehensive guide to JavaScript, including many of the concepts that are used in React Hooks. It valuable resource for anyone who wants to learn more about JavaScript.
Provides a comprehensive guide to JavaScript, including many of the concepts that are used in React Hooks. It valuable resource for anyone who wants to learn more about JavaScript.
Provides a collection of JavaScript patterns, including many that are used in React Hooks. It valuable resource for anyone who wants to learn more about JavaScript patterns.
Provides a comprehensive guide to building fullstack React applications, including how to use React Hooks. It valuable resource for anyone who wants to learn more about building fullstack React applications.
Provides a comprehensive guide to React, including how to use React Hooks. It valuable resource for anyone who wants to learn more about React.
Provides a gentle introduction to JavaScript, including many of the concepts that are used in React Hooks. It valuable resource for anyone who wants to learn more about JavaScript.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to React Hooks Tutorial - Master React Hooks Development.
React JS - Mastering Redux
Most relevant
React JS Web Development - The Essentials Bootcamp
Most relevant
Using Hooks in React 18
Most relevant
The Complete React Native + Hooks Course
Most relevant
Using React 17 Hooks
Most relevant
The Modern React Bootcamp (Hooks, Context, NextJS, Router)
Most relevant
React Hooks: useEffect, useContext, useReducer,...
Most relevant
React Hooks: useRef, useMemo, useCallback,...
Most relevant
Next.js 14 & React - The Complete Guide
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser