Size: a a a

2020 December 25

ER

Eric Rovell in Svelte [svelt]
Alexander Ponomarev
понятно =) скажу что "как в реакте"
Да, так и делал там. Правда, не сказать, что много опыта имеется
источник

AP

Alexander Ponomarev in Svelte [svelt]
зато можно делать дженерики в пропсах и ИЛИ типы, а в модели свелта нельзя
источник

ER

Eric Rovell in Svelte [svelt]
Eric Rovell
Да, так и делал там. Правда, не сказать, что много опыта имеется
Вообще там с тс и познакомился, ибо проект запустил. ТС помог с рефакторингом
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Eric Rovell
Например, если в компоненте один пропс - объект, то можно просто указать интерфейс и описать все типы сразу
м.. так вроде же можно так сделать ?
если пропс объект
импортируешь интерфейс из внешнего файла
или так не работает ?
источник

ER

Eric Rovell in Svelte [svelt]
Alexander Ponomarev
зато можно делать дженерики в пропсах и ИЛИ типы, а в модели свелта нельзя
К сожалению. У них много в свелт any понапихали, в доках заметил еще
источник

ER

Eric Rovell in Svelte [svelt]
Кирилл Спасибович
м.. так вроде же можно так сделать ?
если пропс объект
импортируешь интерфейс из внешнего файла
или так не работает ?
Можно
источник

ER

Eric Rovell in Svelte [svelt]
Я имел ввиду, если пропсы отдельными переменными
источник

КС

Кирилл Спасибович... in Svelte [svelt]
а.. типа заспредить объект типов об компонент))
источник

ER

Eric Rovell in Svelte [svelt]
Точно!
источник

AP

Alexander Ponomarev in Svelte [svelt]
export interface ListItemProps<T extends { id: string }> {
   data: T;
}

export function ListItem<T extends { id: string }>(props:  ListItemProps<T>): JSX.Element;
Такого в свелте не сделаешь
источник

ER

Eric Rovell in Svelte [svelt]
Что-то мне подсказывает, что держать проспы объектом неразумно и может триггерить там, где не должно. Но не проверял, просто догадки
источник

КС

Кирилл Спасибович... in Svelte [svelt]
так и есть
источник

ER

Eric Rovell in Svelte [svelt]
Alexander Ponomarev
export interface ListItemProps<T extends { id: string }> {
   data: T;
}

export function ListItem<T extends { id: string }>(props:  ListItemProps<T>): JSX.Element;
Такого в свелте не сделаешь
Это же JSX😅
источник

КС

Кирилл Спасибович... in Svelte [svelt]
изменение любого поля затригерит реактивность повешенную на любое поле или на весь объект
источник

AP

Alexander Ponomarev in Svelte [svelt]
смысл в дженерике T
источник

AP

Alexander Ponomarev in Svelte [svelt]
как такое в свелте написать?
export let data: T extends { id: string };

Так низя =)
источник

ER

Eric Rovell in Svelte [svelt]
Alexander Ponomarev
смысл в дженерике T
Да блин, они ТС выкинули из свелт кит. Имею ввиду, не поддержку, а сам код пишут без него. "Мешал прототипировать"
источник

ER

Eric Rovell in Svelte [svelt]
Кирилл Спасибович
изменение любого поля затригерит реактивность повешенную на любое поле или на весь объект
Блин, не подвело чутьё!
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Eric Rovell
Блин, не подвело чутьё!
источник

ER

Eric Rovell in Svelte [svelt]
Alexander Ponomarev
как такое в свелте написать?
export let data: T extends { id: string };

Так низя =)
Не пробовал, проверю, ради интереса🤔
источник