Перейти к содержанию
Разработка FE—03

TypeScript в работе

Курс о том, как типы ловят ошибки до запуска, а не о теории систем типов. Берём магазин из курса «React на практике» и переводим его на TypeScript файл за файлом: пропсы, состояние, данные с сервера, свои хуки. К финалу вы читаете чужие типизированные проекты без ужаса.

8 модулей18 уроков
14 часоввидео и практики
Нужен Reactтребования
Навсегдадоступ и обновления
Формат
€49 разовый платёж
Оформить заказ Открыть программу
Оплата картой или через PayPal
Доступ открывается сразу после оплаты
Возврат 14 дней, если не начали смотреть
Результат

Что вы сможете делать

Читать сообщение компилятора и понимать, на что он жалуется
Описывать данные приложения типами и переиспользовать их
Сужать типы через проверки вместо приведения к any
Типизировать пропсы, children и обработчики событий
Работать с состоянием и формами так, чтобы ошибка всплывала в редакторе
Писать дженерики там, где они действительно нужны, — на своих хуках
Проверять данные с сервера, а не верить объявленному типу
Переводить существующий проект на строгий режим по шагам
Программа

8 модулей, один проект

Нажмите на модуль, чтобы раскрыть уроки

01 Зачем типы2 урока · 1 ч 24 минОткрыт

Что типы ловят на самом деле, чего не ловят и почему проект переводят по частям, а не за один вечер.

Какие ошибки типы находят до запуска
Подключаем TypeScript к готовому проекту
02 Типы данных приложения2 урока · 1 ч 32 мин

Описываем товар, пользователя и заказ — те же сущности, что уже есть в магазине.

Примитивы, объекты, массивы, литеральные типы
type и interface: что выбрать и когда это важно
03 Функции, сужение и union3 урока · 2 ч 14 мин

Главный рабочий приём TypeScript: проверка в коде, после которой тип становится точным.

Аргументы, возвращаемое значение и необязательное
Union-типы и сужение через проверки
Практика: состояние загрузки как union
04 Пропсы и children2 урока · 1 ч 34 мин

Компоненты с типизированным интерфейсом: что обязательно, что нет и как описать children и ref.

Типы пропсов, значения по умолчанию, children
Компоненты-обёртки и передача чужих пропсов
05 Состояние и события3 урока · 2 ч 18 мин

useState, формы и обработчики: место, где новичок чаще всего пишет any и теряет всю пользу.

useState и useReducer с типами
События, формы и ссылки на элементы DOM
Практика: типизированная форма заказа
06 Дженерики без страха2 урока · 1 ч 36 мин

Дженерики на собственных хуках: сначала конкретный код, потом обобщение — и становится понятно зачем.

От конкретного хука к обобщённому
Практика: useFetch и useLocalStorage с типами
07 Данные с сервера2 урока · 1 ч 32 мин

Тип не гарантирует, что сервер прислал именно это: проверяем данные на границе приложения.

Типы ответа API и общий клиент запросов
Проверка данных на границе вместо слепого доверия
08 Перевод проекта целиком2 урока · 1 ч 50 мин

Финальный модуль: включаем строгость по шагам и убираем последние any из магазина.

strict по шагам: что включать первым
Финальная проверка: проект без единого any
Материалы

Что вы получаете

18 уроков с расшифровкой

Видео с таймкодами и текстовой версией: код из урока копируется вместе с сообщениями компилятора.

Магазин из курса FE—02

Тот же проект на JavaScript в стартовом состоянии и его типизированная версия — можно сверять файл за файлом.

Разбор ошибок компилятора

Двадцать типичных сообщений с переводом на человеческий язык и объяснением, что именно править.

Готовые конфиги

tsconfig для строгого и мягкого режима с комментариями к каждому флагу — чтобы включать строгость постепенно.

Dediu Pavel
Автор курса

Dediu Pavel

Ведёт направление «Веб-разработка» в Forma. Полный список курсов автора — на его странице.

Все курсы автора

Первый модуль открыт целиком

Посмотрите уроки первого модуля и первое задание. Если формат не подойдёт — вы ничего не потеряли.