Size: a a a

TypeScript — русскоговорящее сообщество

2021 January 24

В

Влад in TypeScript — русскоговорящее сообщество
interface Props {
 prop1name: loginProps,
 prop2name: regProps,
}
источник

M

Maksim Sharov in TypeScript — русскоговорящее сообщество
Влад
а так порядок по джс
тебе человек выше написал, что даже на жиэс (реакт) этот компонент невалиден
источник

ВБ

Василий Барбашев... in TypeScript — русскоговорящее сообщество
это конечно не запрещено, дело твое. возможно тебе так удобно
источник

В

Влад in TypeScript — русскоговорящее сообщество
Василий Барбашев
это конечно не запрещено, дело твое. возможно тебе так удобно
ну дак вариантов много я не искал покороче
источник

ВБ

Василий Барбашев... in TypeScript — русскоговорящее сообщество
не особо то и много)
источник

ВБ

Василий Барбашев... in TypeScript — русскоговорящее сообщество
проверять значения для перерисовки компонентов делать проще на примитивах, чем на объектах
источник

ВБ

Василий Барбашев... in TypeScript — русскоговорящее сообщество
с объектами ты уже должен думать чтобы твои значения не обновляли компонент ниже, если в этом нет необходимости
источник

Д

Дмитрий in TypeScript — русскоговорящее сообщество
Влад
я просто спросил как мне правильно с интерфейсами сделать
источник

В

Влад in TypeScript — русскоговорящее сообщество
круто
источник

В

Влад in TypeScript — русскоговорящее сообщество
с наследование
источник

В

Влад in TypeScript — русскоговорящее сообщество
м
источник

ВБ

Василий Барбашев... in TypeScript — русскоговорящее сообщество
Влад
с наследование
с расширением. но я не вижу смысла в этом здесь. лишний интерфейс =)
источник

AD

Apache DOG™ in TypeScript — русскоговорящее сообщество
uid
Вроде бы с дистрибутивностью правило однозначное — условный тип Exp1 extends Exp2 ? Exp3 : Exp4 (где каждое Exp — некоторое выражение от типов) вычисляется дистрибутивно, только если Exp1 является типом-параметром generic-типа (ни во что не обёрнутым — как сказано в документации, a naked type parameter).

Пример с дистрибутивностью: type G<T> = T extends unknown ? { x: T } : 1.
Слева от extends стоит чистый тип-параметр T, поэтому условие будет вычисляться дистрибутивно.

Без дистрибутивности: type G<T> = [T] extends unknown ? { x: T } : 1.
Слева от extend стоит [T] — литерал кортежа от типа-параметра T, а не сам тип-параметр, — так что дистрибутивность не включится.

Это правило используют в популярном приёме: если нужно вычислить T extends Exp2 ? Exp3 : Exp4 недистрибутивно, достаточно обернуть выражения слева и справа от extends в квадратные скобки ([T] extends [Exp2] ? Exp3 : Exp4).

Кроме того, из правила следует, что условные типы могут вычисляться дистрибутивно только внутри generic-типов (потому что вне дженериков нет требуемого типа-параметра).

Зато дженерик может быть любым (алиас, интерфейс, функциональный тип, или класс): play.
Что такое дистрибутивность в тс в этом смысле?
источник

MK

Max Kiner in TypeScript — русскоговорящее сообщество
Всем привет :) кто может подсказать, как задать с помощью индекс сигнатуры форму ключ: функция, где в качестве типа одного из аргументов можно было бы передать свой тип? Вот такая конструкция, которая первым делом приходит в голову, не работает. Буду благодарен за помощь :)
источник

u

uid in TypeScript — русскоговорящее сообщество
Apache DOG™
Что такое дистрибутивность в тс в этом смысле?
Определение дистрибутивности есть здесь: https://t.me/ts_ru/93158.

Если коротко, дистрибутивный условный тип от объединения нескольких слагаемых вычисляется как объединение условных типов от этих слагаемых: (A | B) extends U ? X : Y = (A extends U ? X : Y) | (B extends U ? X : Y).
То есть каждое слагаемое проверяется на extends, и результаты проверки объединяются.

Недистрибутивный условный тип от объединения вычисляется "как есть" — в нём на extends проверяется всё объединение, а не его отдельные слагаемые.

На вычисление условных типов от остальных значений (не от объединений, а от единичных типов) дистрибутивность не влияет.
источник

in TypeScript — русскоговорящее сообщество
а есть минималистичный вариант этого const f =( prop1:string, prop2:string,  prop3:string )() чтобы не писать каждоый стринг а всем задать его 1 раз
источник

M

Maksim Sharov in TypeScript — русскоговорящее сообщество
а есть минималистичный вариант этого const f =( prop1:string, prop2:string,  prop3:string )() чтобы не писать каждоый стринг а всем задать его 1 раз
Задать тип на функцию?
источник

in TypeScript — русскоговорящее сообщество
Maksim Sharov
Задать тип на функцию?
дА!
источник

in TypeScript — русскоговорящее сообщество
ну не делать это под каждый параметр а на всю функцию, string
источник

M

Maksim Sharov in TypeScript — русскоговорящее сообщество
ну не делать это под каждый параметр а на всю функцию, string
источник