Тёмный

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

Михаил Непомнящий
Подписаться 73 тыс.
Просмотров 9 тыс.
50% 1

Опубликовано:

 

26 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 36   
@apyrkh
@apyrkh Год назад
спасибо за видео, не знал о "-?" фиче, чтобы отменить необязательность - просто бомба
@antonmas3451
@antonmas3451 Год назад
а где можно почитать об этой "-?" фиче?
@vladimircreator
@vladimircreator Год назад
@@antonmas3451в официальной документации как бы :/
@PowWowVideo
@PowWowVideo Год назад
Можно вместо этого использовать util type Required
@paemox
@paemox Год назад
Ничего не ясно, но очень интересно.
@artemj1
@artemj1 Год назад
Создание проблем и их героическое преодоление. Обмазываем нечитаемые портянки из GraphQL не очевидными реализациями Тайпскрипта) Представляю какой кайф это все поддерживать будет.
@from_brest2631
@from_brest2631 Год назад
Да все норм читаемо и пожжерживаемо. И не надо 100500 эндпоинтов 😂
@mechanism-o4h
@mechanism-o4h Год назад
А каким образом тут создана проблема? Если в проекте необходим GraphQL и у него такой ответ, то какие еще варианты?
@АрсенМахмудов-н2д
@АрсенМахмудов-н2д 4 месяца назад
Благодарю за прекрасные уроки! Данный урок не для новичков, конечно, но что-то вроде понял)
@Denis_Katelnikov
@Denis_Katelnikov Год назад
Запросы вселенной работают)) только вчера искал видео про рекурсию типов))
@STELLS541
@STELLS541 Год назад
Очень круто и достаточно сложно конечно, чуть. Надо переварить пойти 😀.
@d_r_robot
@d_r_robot Год назад
Всегда, только масса пользы, спасибо Михаил!
@ArtyomSamsonchik
@ArtyomSamsonchik Год назад
Выглядит интересно. Непонятно, как это вообще работает. В такой реализации рекурсии нет механизма досрочного выхода, но тип все-таки вычисляется. Я предполагаю, что это заслуга встроенного ограничения на 50 рекурсивных вызовов в TS и еще какой-то магии) Ведь из примера в видео в какой-то момент в наш кастомный тип попадает значение по ключу "label", и получается NonNullableQuery. А это вычисляется как тип объекта String.prototype, который тут же опять попадает в наш кастомный тип и т.д., пока компилятор сам не остановится. Хз, если это не начнет со временем сильно лагать из-за неоправданного объема работы, то может вариант с таким типом и хорош. Но в MUI и Emotion вроде, где я видел рекурсивные типы, использовался conditional type (тернарник в TS) для досрочного выхода/продожления рекурсии. На Гитхабе тайпскрипта есть хорошее описание рекурсии в TS. Ищите PR Recursive conditional types #40002, закладка conversation.
@denis7442
@denis7442 Год назад
Спасибо за понятные объяснения, как всегда огонь
@sergeyplotnikov4303
@sergeyplotnikov4303 Год назад
Очень круто! Спасибо большое!
@akad1981
@akad1981 Год назад
ВАу! Супер полезно, спасибо!
@NeoCoding
@NeoCoding Год назад
свят свят, такое попадётся 😄
@Infinity-zf8ms
@Infinity-zf8ms Год назад
Спасибо
@dmitriyanatolev2518
@dmitriyanatolev2518 Год назад
Привет Миш!Приятно тебя слушать ,купил у тебя курс по type script
@pink-doublethink
@pink-doublethink Год назад
Ролик огонь🔥 *Спасибо, что поделился* ❤
@kinofan_org
@kinofan_org Год назад
Очень годный контент я скажу)
@lLoseControll
@lLoseControll Год назад
Классно, не знал про -? Да и в целом классный кейс, лайк
@ЛежимБомбим
@ЛежимБомбим Год назад
Лучший!
@someChicoRy
@someChicoRy Год назад
круто)
@voytko1994
@voytko1994 Год назад
что-то на сложном) Порой с TS больше проблем чем бенефитов
@БатырбекАйгалиев
Мне кажется Microsoft должны описать этот способ в документации по TS. Это точно должно быть best practice
@mango-milkshake
@mango-milkshake Год назад
Михаил, есть такой важный вопрос: А получится сделать видео на тему деплоя своего проекта на реальный домен? Вот допустим, я создал на React/NextJS сайт-портфолио, залил его на Vercel. Но мне хочется короткое и понятное доменное имя и всё в таком духе. Хотелось бы разобраться как это всё работает И отдельно хотелось бы понять, как на Vercel делаются кастомные домены. Я так и не понял, как правильно это настраивать. Спасибо!
@АлександрБалу-д5т
Подскажите легко ли будет перенести сайт с React на Next.JS, если сайт сначала сделать на React? просто говорят на 10+т дороже сделать на Next.JS
@АлександрРешетник-э4т
@АлександрРешетник-э4т 8 месяцев назад
Поясни пжлст почему не использовать graphql fragment в связке с генератором типов? Т.е. ты создаешь схему в схеме создаешь fragment, генеришь типы и получаешь готовый интерфейс ответа graphql query через fragment?
@mishanep
@mishanep 8 месяцев назад
Оно так и работает, только тип фрагмента по специфике идёт с null и undefined на каждом шаге. А на уровне компонента я могу ожидать данные с постобработкой.
@antonmas3451
@antonmas3451 Год назад
а где можно почитать об этой "-?" фиче? не могу найти в handbooke тайпскрипта
@mishanep
@mishanep Год назад
Я тоже не находил =) Скорее всего в блоге Майкрософт, где они публикуют информацию о каждой новой версии TS. Но я навскидку не скажу, когда такая штука появилась.
@Toookes
@Toookes Год назад
А результат запроса случайно не из strapi?)
@mishanep
@mishanep Год назад
Нет :)
@applied_maths
@applied_maths Год назад
Рекурсивный фильтр
Далее
ДУБАЙСКАЯ ШОКОЛАДКА 🍫
00:55
Просмотров 1,2 млн
Infer is easier than you think
13:38
Просмотров 92 тыс.
Типизация для Redux Toolkit
22:24
Просмотров 42 тыс.