OTUS. Онлайн-образование corporate blog
JavaScript
ReactJS
TypeScript
Comments 6
+2

// Yeah, I don't understand this either. But it gives us nice typing
// for our reducer actions.


На месте автора оригинального текста я бы постеснялся публиковать такой Voodoo код. А совет с использованием any вообще сводит на нет смысл использования TypeScript.


В качестве примера проекта можно добавить Formik

+2

Совет использовать ANY в сложных ситуациях на порядки ускоряет переход на TS. А может и вообще позволяет его провести.

+2

Ну вы скажете. В команде я один могу писать на TS, и пишу на нем какие-то ключевые части приложения, где без строгой типизации я вообще не представляю как обойтись. И я никогда не против, если JS-онли разработчик немного подправит ядро через any, а позже я сделаю рефакторинг и прочее, а затем чуваку ещё и дифф скину, типа, смотри как оно на тайпе выглядит, чтобы учился.
Когда выразительности JS уже недостаточно для работы, тогда ты с лёгкостью учишь TS, благо для любого среднего программиста это неделя. А начинающему разработчику никогда не объяснить, почему строгие типы — это классно, сам же был таким, и пальцем у виска крутил, когда первые версии TS видел, однако с тех пор и TS серьезно развился.

+2
type Action<K, V = void> = V extends void ? { type: K } : { type: K } & V

Когда в руках молоток, то все кажется гвоздями… Зачем тут вообще нужен условный тип? Вот так не проще ли сделать?


type Action<K, V = {}> = { type: K } & V

Но еще лучше взять решение вот отсюда: https://habr.com/ru/company/alfa/blog/452620/

0
Примеры реализаций привел. Понимаю тебя, это просто перевод, но если пишешь код на react.js мог бы привести и примеры применения. Хочется взять статью почитать и реализовать, а не искать дополнительно, а как это сделать и куда это всучить, чтобы заработало. Приведи примеры применения или может кто-нибудь из читателей привести.
Only those users with full accounts are able to leave comments. , please.