Build Polymorphic Components with React and Typescript

Extend your knowledge of reusable components. Build strongly typed polymorphic React components

Polymorphic components?

What you’ll learn

  • Build polymorphic React components.
  • Apply intermediate Typescript utility types.
  • Practically use Typescript generics.
  • Use Typescript to restrict the polymorphic prop to accept only valid HTML elements.
  • Based on the generic polymorphic prop, use Typescript to enforce only valid props of the passed HTML element.
  • Build a reusable Polymorphic utility.
  • Handle strongly typed Polymorphic refs.

Course Content

  • Getting started –> 7 lectures • 34min.
  • Strongly typed Polymorphic components –> 9 lectures • 1hr 8min.
  • Build a reusable polymorphic component utility –> 2 lectures • 15min.
  • Polymorphic component with Ref –> 3 lectures • 17min.
  • Exercise and conclusion –> 2 lectures • 2min.

Auto Draft

Requirements

Polymorphic components?

 

You’ve probably used them before … If you’ve used material UI’s component prop or Chakra UI’s as prop, then you’ve already encountered polymorphic React components.

 

In this class, you will learn to build your own polymorphic component that can be rendered as any valid HTML element. More importantly, you will learn to strongly type its allowed props based on the supplied element type. There will be many use cases and edge cases discussed along the way to help you build more robust reusable React components with a great developer experience.

 

How can you apply this knowledge?

 

  1. Build more flexible reusable components
  2. Apply the gained knowledge to building your own design system
  3. Explore intermediate Typescript concepts for truly strongly typed polymorphic components

 

Prerequisites

 

  1. You are familiar with React basics
  2. You are familiar with Typescript basics

 

Who is this class for?

 

  1. React developers building design systems
  2. React developers building reusable components
  3. React Typescript developers
  4. Other curious intermediate React developers

 

In summary, this is not a beginner’s course. You need to know some React, and some Typescript (the basics at least i.e., you know what “types” are).

You will learn intermediate typescript in this course. It’ll be practical, effective and straight to the point – a course you will actually complete.

You will learn to build your own polymorphic component that can be rendered as any valid HTML element. That’s easy! What’s not so easy is strongly typing its allowed props based on the supplied element type. Restricting the component props dynamically, type-safe the passed refs to the props and even building a utility you can reuse on any other reusable component.

 

There will be many use cases and edge cases discussed along the way to help you build more robust reusable React components with a great developer experience.

 

Get Tutorial