169 похожих чатов

Почему некоторые дженерики могут выводить тип из передаваемых аргументов, как

здесь https://bit.ly/3rSmt3N

а другие нет https://bit.ly/3qNvxWu он не понимает, что за значение я передаю
пытался сделать через infer и тоже не понимает https://bit.ly/3bLZcL7

почему так делаю? захотел избавится от явной передачи типа (да, вот такой вариант работает https://bit.ly/2Ni58SL)

38 ответов

7 просмотров

https://t.me/ts_cool/141931

Maksim- Автор вопроса

ты опять ребусами говоришь)

Maksim- Автор вопроса

уже не первый раз упоминаешь про типы-параметры в наших диалогах. что почитать для начала?

Maksim- Автор вопроса

спасибо за ответы, стало понятнее. что остается? явно указывать

тип-параметр неизвестен, поэтому берётся тип-ограничитель const foo = <ТипПараметр extends ТипОграничитель>...

fetching: unknown — это из Record<string, unknown>

либо указывать явно, либо использовать data-first подход

Maksim- Автор вопроса

кроме ленда и своего блога скинь, пожалуйста, в личку хорошие материалы для изучения PS да, наконец понял, что под тип-параметром имел ввиду, это перевод с английского variale type)

Эх, если бы реактеры хоть немножечко трудились воспроизвести проблему без реакта - больше бы людей могло помочь (в том числе и я, который не знаю реакт) А может, в процессе воспроизведения без реакта и сами бы поняли, в чём причина...

Maksim- Автор вопроса

сколько снобизма спасибо за пример

Ну у реакта много нюансов, которые не всегда понимаешь, пока не начинаешь углубляться в типизацию, поэтому как человек, жрущий кактус скажу - не все так очевидно

Maksim- Автор вопроса

в примере от реакта почти ничего и нет, только функции поэтому ты написал только свою имитацию фрейморка, которая ничем от приведенного мной примера не отличается

И типы. Это ж кучу времени занимает у не-реактера, чтоб понять, что такое React.ComponentType, React.ComponentClass, React.FunctionComponent и т д

Maksim- Автор вопроса

React.ComponentType

то же самое с композицией функций в рамде

внутри пасхалка

Maksim- Автор вопроса

я обычно компоузу все передаю сразу

это то, что я назвал “ковровая бомбардировка типами”. это не всегда нужно

Maksim- Автор вопроса

удобно видеть как комбайн преобразует данные

хз, я сам не настоящий сварщик( не знаю, что тут можно посоветовать, кроме как “пиши ещё”

мэйби

понравилась моя песочница?

ну ты её линканул, думал похвалишь

Кстати, в вашем случае MapProps даже не экстендит тот Record type Test = AsideProps extends Record<string, unknown> ? boolean : number // number А вот CatProps экстендит: type Test = CatProps extends Record<string, unknown> ? string : number // string

Maksim- Автор вопроса

кстати, есть либа как рамда только data-first подходом, надо попробовать

remeda есть, они хвалятся “мы как рамда, только датафёрст, нас типизировать легче”

вот только data-first выключает композицию. а без композиции нахера оно всё нужно?

а ещё remeda не по спеке работает, она на хую вертела все эти ваши функторы, сетоиды и всё остальное. посему тоже идёт нахер

Без рамбды получилось вот так. Забавно, да, что без подсказки дженериков map<T[number], Date> он сам не выведет. У меня из-за этого в моей либе много таких "подсказок" ТС-у - я всё же дата-ласт подход использовать предпочитаю

lodash? )

ну ты просто переписал функции, что есть в рамде. а зачем?)

У них композ сложно типизируется - не хотел заморачиваться, чтоб исправить типизацию) Да и не учил я рамбду))

🤷‍♂️

О, значит просто угадал с типами map и sort - говорю же, не учил рамбду))

👍🏿

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта