Рекурсивные типы в TypeScript

preview_player
Показать описание
TypeScript позволяет создавать сложные типы за счет рекурсии. Разбираемся от базового примера до реального практического применения. Создаем свою утилиту для GraphQL приложений.

Мои курсы по вебу с купонами:

📢 Поддержка канала:
Рекомендации по теме
Комментарии
Автор

спасибо за видео, не знал о "-?" фиче, чтобы отменить необязательность - просто бомба

apyrkh
Автор

Создание проблем и их героическое преодоление. Обмазываем нечитаемые портянки из GraphQL не очевидными реализациями Тайпскрипта) Представляю какой кайф это все поддерживать будет.

artemj
Автор

Благодарю за прекрасные уроки! Данный урок не для новичков, конечно, но что-то вроде понял)

mugfkft
Автор

Запросы вселенной работают)) только вчера искал видео про рекурсию типов))

Denis_Katelnikov
Автор

Очень круто и достаточно сложно конечно, чуть. Надо переварить пойти 😀.

STELLS
Автор

Ролик огонь🔥

*Спасибо, что поделился* ❤

pink-doublethink
Автор

Всегда, только масса пользы, спасибо Михаил!

d_r_robot
Автор

Спасибо за понятные объяснения, как всегда огонь

denis
Автор

Привет Миш!Приятно тебя слушать, купил у тебя курс по type script

dmitriyanatolev
Автор

Выглядит интересно. Непонятно, как это вообще работает. В такой реализации рекурсии нет механизма досрочного выхода, но тип все-таки вычисляется. Я предполагаю, что это заслуга встроенного ограничения на 50 рекурсивных вызовов в TS и еще какой-то магии) Ведь из примера в видео в какой-то момент в наш кастомный тип попадает значение по ключу "label", и получается NonNullableQuery<string>. А это вычисляется как тип объекта String.prototype, который тут же опять попадает в наш кастомный тип и т.д., пока компилятор сам не остановится.
Хз, если это не начнет со временем сильно лагать из-за неоправданного объема работы, то может вариант с таким типом и хорош. Но в MUI и Emotion вроде, где я видел рекурсивные типы, использовался conditional type (тернарник в TS) для досрочного выхода/продожления рекурсии.
На Гитхабе тайпскрипта есть хорошее описание рекурсии в TS. Ищите PR Recursive conditional types #40002, закладка conversation.

ArtyomSamsonchik
Автор

Классно, не знал про -? Да и в целом классный кейс, лайк

lLoseControll
Автор

что-то на сложном)
Порой с TS больше проблем чем бенефитов

voytko
Автор

Подскажите легко ли будет перенести сайт с React на Next.JS, если сайт сначала сделать на React? просто говорят на 10+т дороже сделать на Next.JS

qnphfth
Автор

Михаил, есть такой важный вопрос:

А получится сделать видео на тему деплоя своего проекта на реальный домен? Вот допустим, я создал на React/NextJS сайт-портфолио, залил его на Vercel. Но мне хочется короткое и понятное доменное имя и всё в таком духе. Хотелось бы разобраться как это всё работает

И отдельно хотелось бы понять, как на Vercel делаются кастомные домены. Я так и не понял, как правильно это настраивать. Спасибо!

mango-milkshake
Автор

Мне кажется Microsoft должны описать этот способ в документации по TS. Это точно должно быть best practice

kuhcmrm
Автор

Поясни пжлст почему не использовать graphql fragment в связке с генератором типов? Т.е. ты создаешь схему в схеме создаешь fragment, генеришь типы и получаешь готовый интерфейс ответа graphql query через fragment?

gbetdkr
Автор

а где можно почитать об этой "-?" фиче?
не могу найти в handbooke тайпскрипта

antonmas
Автор

А результат запроса случайно не из strapi?)

Toookes