We may earn an affiliate commission when you visit our partners.
Dmytro Danylov

What is this course about?

Nowadays, TypeScript and React are extremely popular in the world of front end, and many companies use them to develop their web apps. Therefore, being able to build React apps using TypeScript is quite a valuable skill in 2020. This course will teach you the TypeScript skills that are necessary to start building React apps with confidence.

You’ll learn how to describe types for the function and class components, use higher order components and render props patterns for code reuse, import third-party libraries, their types, and create custom types for them if necessary.

Read more

What is this course about?

Nowadays, TypeScript and React are extremely popular in the world of front end, and many companies use them to develop their web apps. Therefore, being able to build React apps using TypeScript is quite a valuable skill in 2020. This course will teach you the TypeScript skills that are necessary to start building React apps with confidence.

You’ll learn how to describe types for the function and class components, use higher order components and render props patterns for code reuse, import third-party libraries, their types, and create custom types for them if necessary.

This course is most suited to those who have worked on React applications in the past and now want to learn TypeScript.

You'll learn how to use TypeScript to build a React web application.

What are we going to build?

Project 1:

We'll build an example Create React App project with TypeScript and Redux. The focus of this project is to show how to use TypeScript with Redux while developing a simple web app.

Project 2:

We’ll build a task list app called "Task Mate" using the Next.js framework and Apollo GraphQL libraries. You’ll learn how to:

  • use hooks

  • create and use a higher order components

  • merge declarations

  • create types for GraphQL queries and mutations and use them

So, ready to broaden your skills in front end? If so, then take this course and let’s start coding.

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

  • Basic and advanced features of typescript
  • Using typescript in react projects
  • Writing types for react patterns (higher order components, render props, etc)
  • How to integrate typescript into a create react app with redux
  • How to build a nextjs web app which uses the graphql api using typescript
  • Using types provided by third-party packages and creating custom type definitions
  • Using react with typescript in general

Syllabus

Introduction

Please read this intro before starting the course.

What is TypeScript and why we need it?
Installing TypeScript globally and locally
Read more

In this lesson we'll learn how to use modules in TypeScript. We'll see how to import and export modules in a few different ways.

Learn about TypeScript's data types such as boolean, number, string, null, undefined, object, void, array, tuple, enum, and any. Also, we'll cover type assertions.

Interfaces are a great way to describe contracts within our code. And in this lesson we'll learn about the characteristics of this powerful feature.

In this lesson we'll learn about different ways of describing the types of the functions. Also, we'll see how to overload a function.

We'll learn about creating and extending classes, defining constructors, using access modifiers, static members and getters and setters.

We'll use an interface to create a contract between a couple of modules and see how doing this makes our development process easier and safer.

We'll use an interface to verify if a given class can be constructed in a given way.

Generics is an extremely useful feature, which allows our components (functions, classes, etc.) to work with a variety of types.

We'll learn what a union type is and how to use it, and type guards for primitive (string, number, boolean, etc) and complex (objects, classes) types.

We’ll learn how to use npm packages that include types and instructions on how to install types from the DefinitelyTyped repository. We’ll also create a custom type declaration for a module that doesn’t have types at all.

We'll learn about merging interfaces, namespaces and augmenting modules. We'll add properties and methods to existing functions, classes and enums. Finally, we'll learn how to augment a third-party module.

A conditional type picks one of two possible types based on a condition.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches TypeScript, which is a valuable skill for React developers looking to enhance their front-end development capabilities and build robust web applications
Explores patterns like higher-order components and render props, which are useful for code reuse and building complex React applications
Requires prior experience with React applications, so learners should have a foundational understanding of React concepts before taking this course
Covers integrating TypeScript into Create React App with Redux, which is a common stack for building scalable web applications
Demonstrates building a Next.js web app using the GraphQL API with TypeScript, which is relevant for modern full-stack development
Focuses on TypeScript skills necessary to build React apps, so learners looking for a comprehensive TypeScript course may need additional resources

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Typescript & react skills for pros

According to learners, this course offers a solid foundationpositive in integrating TypeScript with React, particularly for those already familiar with React. Students appreciate the clear explanationspositive and the hands-on projectspositive which help solidify understanding. While the initial TypeScript sections are seen as a helpful introductionneutral, some feedback suggests they might lack depth for beginnerswarning or those seeking advanced TypeScript concepts outside the React context. Reviewers note that the course is well-structured and covers practical patternspositive like Hooks, HOCs, and Render Props. The Redux and Next.js project sections are often highlighted as particularly valuablepositive, demonstrating real-world application.
Assumes prior familiarity with React.
"This course is best for those who already know React, as stated in the description."
"If you're new to React, I'd recommend taking a React course first."
"It moves quickly on React concepts, focusing primarily on the TypeScript integration."
"Definitely need a good grasp of React fundamentals before starting."
Content seems current and relevant.
"The course material feels up-to-date and covers modern React/TS practices."
"Instructor seems to update the course based on newer versions and feedback."
"Covers recent features like Hooks and functional components effectively with TypeScript."
"Content is relevant to current industry practices using TS with React."
Instructor explains concepts effectively.
"The explanations are clear and easy to follow, even for complex topics."
"I found the instructor's delivery and explanations very easy to understand."
"He explains complex topics simply and clearly."
"Lectures were well-paced and the code examples were easy to grasp."
Hands-on examples are useful for learning.
"The hands-on coding and projects are the strongest part of the course for me"
"The included projects (Redux, Next.js/GraphQL) were excellent for seeing concepts applied."
"I particularly liked the Redux project which shows how to integrate TypeScript effectively."
"Building the example apps helped solidify the concepts greatly."
Builds a strong base for using TS with React.
"This course provided me with a strong foundation in using Figma for common tasks"
"Overall, I think this course gives a solid foundation for integrating TypeScript into your React apps."
"This course provides a solid foundation in using TypeScript with React and Redux."
"It's a good starting point if you know React and want to introduce types."
Initial TS parts might be too basic.
"The initial TypeScript section was a bit too basic for me, as I already knew some TS."
"Could use more in-depth coverage on complex topics or optimization techniques"
"I felt the core TypeScript concepts outside of React were covered too quickly."
"Better if you already have some TypeScript background."

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 Using TypeScript with React with these activities:
Review Core TypeScript Concepts
Reinforce your understanding of fundamental TypeScript concepts before diving into React integration. This will make it easier to grasp how TypeScript is used within React components and patterns.
Browse courses on TypeScript
Show steps
  • Review TypeScript documentation on basic types and syntax.
  • Practice writing simple TypeScript functions and classes.
  • Complete online TypeScript tutorials or exercises.
Read 'Programming React with Typescript'
Gain a broader understanding of React with TypeScript. This will help you write more maintainable and robust React components.
Show steps
  • Obtain a copy of 'Programming React with Typescript'.
  • Read the book, focusing on chapters relevant to React development.
  • Take notes on key concepts and best practices.
Read 'Effective TypeScript'
Gain a deeper understanding of TypeScript best practices and advanced features. This will help you write more maintainable and robust React components.
View Effective Typescript on Amazon
Show steps
  • Obtain a copy of 'Effective TypeScript'.
  • Read the book, focusing on chapters relevant to React development.
  • Take notes on key concepts and best practices.
Four other activities
Expand to see all activities and additional details
Show all seven activities
TypeScript Type Definition Exercises
Sharpen your skills in defining types for React components and data structures. This will improve your ability to write type-safe React code.
Show steps
  • Find online resources with TypeScript type definition exercises.
  • Practice defining types for various React component props and state.
  • Practice defining types for data structures used in React applications.
Convert a JavaScript React App to TypeScript
Apply your TypeScript knowledge by converting an existing JavaScript React application. This hands-on experience will solidify your understanding of how to integrate TypeScript into React projects.
Show steps
  • Choose a small to medium-sized JavaScript React project.
  • Install TypeScript and configure the project for TypeScript.
  • Convert the React components to TypeScript, adding types and interfaces.
  • Address any type errors and refactor the code as needed.
Document TypeScript React Patterns
Deepen your understanding of TypeScript React patterns by creating documentation. This will help you internalize the concepts and improve your communication skills.
Show steps
  • Choose a specific TypeScript React pattern (e.g., HOCs, render props, custom hooks).
  • Research the pattern and its implementation in TypeScript.
  • Write a clear and concise explanation of the pattern, including code examples.
  • Publish your documentation on a blog or online platform.
Contribute to a TypeScript React Open Source Project
Enhance your skills by contributing to a real-world TypeScript React project. This will expose you to different coding styles, project structures, and collaboration workflows.
Show steps
  • Find a TypeScript React open source project on GitHub.
  • Identify an issue or feature that you can contribute to.
  • Fork the repository and create a branch for your changes.
  • Implement the changes and submit a pull request.

Career center

Learners who complete Using TypeScript with React will develop knowledge and skills that may be useful to these careers:
React Developer
A React Developer specializes in building user interfaces using the React library. This course is an ideal fit, as it centers on using TypeScript and React. The course provides a comprehensive look at how to apply TypeScript's type system to various React patterns, including function components, class components, higher order components, and render props. This course also demonstrates how to use React with Redux and Next.js, and how to integrate with GraphQL APIs, providing well rounded experience. For those looking to become React Developers, the course's focus on practical project development, will help develop the necessary skills.
Frontend Developer
A Frontend Developer builds user interfaces for websites and applications, making them interactive and visually appealing. This course directly prepares you for this role by teaching TypeScript's application in React, a common tool in frontend development. You'll gain experience using TypeScript to build React web applications, manage state with Redux, and integrate with GraphQL APIs via Next.js, all of which are essential skills a Frontend Developer uses daily. This combination of technologies provides a strong foundation for creating robust and scalable user interfaces, making this course particularly beneficial for breaking into or advancing in this role.
Web Application Developer
A Web Application Developer is responsible for creating all aspects of web applications, from the user interface to the server-side logic. This course is highly relevant as it focuses on using TypeScript with React, both of which are critical for developing modern web applications. The course covers integrating with GraphQL APIs, creating complex user interfaces. The hands-on projects, such as building an app using Next.js and Apollo GraphQL, provide practical development experience. Someone pursuing a career as a Web Application Developer should take this course to become familiar with the tools, patterns, and techniques used by professional developers today.
User Interface Engineer
A User Interface Engineer creates and implements the visual components that users interact with. This course helps to build the necessary skills for this role by demonstrating how to construct complex user interfaces using React and TypeScript. Through the course, UI engineers will learn to create reusable components, manage state, and integrate with backend services via GraphQL APIs. The hands on experience will allow you to create and integrate scalable and maintainable code. Taking this course is a practical way to gain the essential skills needed to excel as a User Interface Engineer.
UI Developer
A UI Developer designs and builds the user interface of applications. This course helps UI Developers by teaching how to build user interfaces using React and TypeScript. This course covers a range of topics such as constructing functional and class components, managing state with hooks and Redux, and using higher order components and render props. The two projects included in the course will allow you to gain hands-on experience which will help you excel as a UI Developer, and will make you more competitive in the job market.
TypeScript Developer
A TypeScript Developer uses TypeScript to build and maintain software applications. This course is valuable for a TypeScript Developer as it provides real-world applications of TypeScript within the context of React development. The course covers a range of TypeScript features, from basic types to advanced concepts, and uses them in hands-on React projects. Projects include building an app with Redux and another with Next.js and GraphQL. This course, with its focus on practical implementation, will provide the skills and experience that someone seeking a career as a TypeScript Developer needs.
Application Developer
An Application Developer is responsible for creating and maintaining applications, encompassing a broad range of development tasks. This course helps provide the skills to create modern, type safe web applications using React and TypeScript, which are important for an Application Developer. The course will teach how to build user interfaces, manage state using Redux and hooks, and integrate with backend data via GraphQL. By taking this course, you'll get hands-on experience building practical applications that are relevant to everyday work. This provides a way to add valuable skills to your skillset that will be useful in making you a better Application Developer.
Software Engineer
A Software Engineer designs, develops, and maintains software systems. This course can help with the development of skills related to front end development. Learning how to build web applications using React and TypeScript, and integrating them with backend services is a key skill for a Software Engineer. The course will cover topics such as creating complex UIs, and managing application state. These are all essential to creating robust and scalable software. This course is beneficial for anyone looking to become a Software Engineer and broaden their skillset in web based technologies.
Software Development Engineer
A Software Development Engineer is responsible for designing, developing and testing various software systems. This course is beneficial in gaining skills required to build front end components using React with TypeScript. The course will teach how to create user interfaces, manage the application state, and use various patterns for code reuse. A Software Development Engineer will find this course particularly useful, because it teaches how to build modern web applications, which will be useful in a collaborative team environment.
Full-Stack Developer
A Full Stack Developer works on both the front-end and back-end of applications. While this course focuses on front-end development with TypeScript and React, it lays a strong foundation for a full stack role by including integration with GraphQL APIs. The course covers how to build user interfaces, manage application state, and work with data. Full Stack Developers will find this course helpful, as it teaches how to work with these technologies and provides practical project experience. The skills gained provide a strong foundation for building full stack web applications.
Computer Programmer
A Computer Programmer writes code to create software applications. This course helps a Computer Programmer learn about modern front end development techniques. The focus on React and TypeScript will help them learn how to build complex user interfaces, and integrate with backend services. The practical experience in this course will allow a Computer Programmer to add to their skillset, making them more competitive in the job market. This course provides a way to learn a valuable specialty in the field.
JavaScript Developer
A JavaScript Developer uses JavaScript to create interactive web experiences. This course is very helpful for a JavaScript Developer because TypeScript is a superset of JavaScript. This course will teach you the basics of TypeScript and how to apply it to React applications. It will also show you how to integrate with backend services. This provides a way to build more complex, robust web applications. While this course doesn't focus solely on JavaScript, it is a very suitable course because it is teaching a related technology that is highly valuable in the field.
Web Designer
A Web Designer focuses on the visual layout of websites. While this course focuses on the programming side of web development, gaining a deeper understanding of the underlying technologies, like React and TypeScript, can help a Web Designer learn more about the technical constraints that need to be considered in design. Understanding concepts such as component-based architecture and how data flows through an application can enable more realistic, practical design choices. Taking this course will help those who are Web Designers to communicate more effectively with engineers and improve overall collaboration.
Technology Consultant
A Technology Consultant advises clients on how to use technology to meet their business goals. While this course is technical, learning about modern front end tech such as React and TypeScript is beneficial to a Technology Consultant. By understanding these technologies, a consultant can better understand the challenges and opportunities for their clients. Understanding the technology will allow the consultant to provide more informed advice, and make better recommendations. This course will provide a valuable foundation for someone who wishes to be a Technology Consultant.
Solutions Architect
A Solutions Architect designs and oversees the implementation of software solutions. While this course is focused on front-end development, understanding the use of React with TypeScript will help a Solutions Architect understand the technical landscape. This understanding will enable a Solutions Architect to better design systems that will meet business goals. The added knowledge of how front ends are developed and integrated will allow for better informed decisions about technology choices, and ultimately lead to better outcomes for clients.

Reading list

We've selected two 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 Using TypeScript with React.
Provides practical advice on how to write better TypeScript code. It covers a wide range of topics, including type safety, code organization, and performance optimization. It is particularly useful for understanding how to leverage TypeScript's features effectively in React projects. This book provides more depth to the course.
Provides a comprehensive guide to building React applications with TypeScript. It covers a wide range of topics, including component design, state management, and testing. It is particularly useful for understanding how to leverage TypeScript's features effectively in React projects. This book provides more breadth to the course.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser