Size: a a a

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

2020 March 06

VK

Vano Kolesnik. 🙄 in TypeScript — русскоговорящее сообщество
Доброго времени суток, господа. Хотелось бы узнать от знатоков React-а, как в классовом компоненте работать с методами, чтобы TS не ругался? Удовлетворит ссылка на ресурс с хорошим примером, если не поможет обращусь повторно с описанием своей проблемы. Заранее благодарю.
источник

Т

Тимофей 🛴 in TypeScript — русскоговорящее сообщество
Vano Kolesnik. 🙄
Доброго времени суток, господа. Хотелось бы узнать от знатоков React-а, как в классовом компоненте работать с методами, чтобы TS не ругался? Удовлетворит ссылка на ресурс с хорошим примером, если не поможет обращусь повторно с описанием своей проблемы. Заранее благодарю.
В реакте нет никаких особенностей в этом. Или ты вообще на ts не писал никогда?

https://www.typescriptlang.org/docs/handbook/classes.html

https://github.com/typescript-cheatsheets/react-typescript-cheatsheet
источник

VK

Vano Kolesnik. 🙄 in TypeScript — русскоговорящее сообщество
TS жалуется на onClick. Метод объявлял как и обычно.
источник

Т

Тимофей 🛴 in TypeScript — русскоговорящее сообщество
Vano Kolesnik. 🙄
TS жалуется на onClick. Метод объявлял как и обычно.
Ну тут видно что ты именно ts не знаешь, читай доку и cheatsheet, ну и конкретные вопросы задавай.

Ты например тут вызвал метод вместо передачи
источник

VK

Vano Kolesnik. 🙄 in TypeScript — русскоговорящее сообщество
Направление получил. Иду доку штудировать. Благодарю.
источник

Т

Тимофей 🛴 in TypeScript — русскоговорящее сообщество
Vano Kolesnik. 🙄
Направление получил. Иду доку штудировать. Благодарю.
Для начала просто у toggleDisplayDescription убери скобки, может все ок станет если ты типы в методе правильно объявил.
источник

VK

Vano Kolesnik. 🙄 in TypeScript — русскоговорящее сообщество
Тимофей 🛴
Для начала просто у toggleDisplayDescription убери скобки, может все ок станет если ты типы в методе правильно объявил.
Да. Это работает. Спасибо ещё раз.
источник
2020 March 07

🎈(

🎈JiL🎈 (Vlad) in TypeScript — русскоговорящее сообщество
Подскажите, пожалуйста.
Когда прокидываю вот такую функцию через пропсы - какой у неё должен быть тип?

const handleChange = (panel: string) => (event: React.ChangeEvent<{}>, isExpanded: boolean) => {
};
источник

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
🎈JiL🎈 (Vlad)
Подскажите, пожалуйста.
Когда прокидываю вот такую функцию через пропсы - какой у неё должен быть тип?

const handleChange = (panel: string) => (event: React.ChangeEvent<{}>, isExpanded: boolean) => {
};
type Props = {
 handleChange: (panel: string) => (event: React.ChangeEvent<{}>, isExpanded: boolean) => void
}
источник

🎈(

🎈JiL🎈 (Vlad) in TypeScript — русскоговорящее сообщество
Egor Gorbachev
type Props = {
 handleChange: (panel: string) => (event: React.ChangeEvent<{}>, isExpanded: boolean) => void
}
спасибо! работает
источник

K✔

Kenya-West ✔ in TypeScript — русскоговорящее сообщество
export class AgeLimits {
   minDate: Date;
   maxDate: Date;
   constructor(ageLimits?: AgeLimits) {
       this.minDate = new Date(ageLimits ? ageLimits.minDate : null);
       this.maxDate = new Date(ageLimits ? ageLimits.maxDate : null);
   }
}



Насколько плохой это код?
источник

SV

Sergey Vakhramov in TypeScript — русскоговорящее сообщество
А optional chaining в тс уже завезли?
источник

AB

Artyom Burkan in TypeScript — русскоговорящее сообщество
Sergey Vakhramov
А optional chaining в тс уже завезли?
Да, с версии 3.7.2
источник

SV

Sergey Vakhramov in TypeScript — русскоговорящее сообщество
Artyom Burkan
Да, с версии 3.7.2
Спасибо)
источник

p

polunin.ai in TypeScript — русскоговорящее сообщество
Kenya-West ✔
export class AgeLimits {
   minDate: Date;
   maxDate: Date;
   constructor(ageLimits?: AgeLimits) {
       this.minDate = new Date(ageLimits ? ageLimits.minDate : null);
       this.maxDate = new Date(ageLimits ? ageLimits.maxDate : null);
   }
}



Насколько плохой это код?
new Date(null) явно нехорошо
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in TypeScript — русскоговорящее сообщество
Kenya-West ✔
export class AgeLimits {
   minDate: Date;
   maxDate: Date;
   constructor(ageLimits?: AgeLimits) {
       this.minDate = new Date(ageLimits ? ageLimits.minDate : null);
       this.maxDate = new Date(ageLimits ? ageLimits.maxDate : null);
   }
}



Насколько плохой это код?
Ну, а если в класс в будущем ещё десяток полей добавится? - нам всех их вручную дописывать в конструктор?
источник

K✔

Kenya-West ✔ in TypeScript — русскоговорящее сообщество
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Ну, а если в класс в будущем ещё десяток полей добавится? - нам всех их вручную дописывать в конструктор?
А как тогда их инициализировать? Поделитесь знанием, плз
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in TypeScript — русскоговорящее сообщество
Kenya-West ✔
А как тогда их инициализировать? Поделитесь знанием, плз
Простите, я не использую классы - я делаю клоны объктов спредом
источник

PS

Pavel Shakhov (pongo) in TypeScript — русскоговорящее сообщество
Kenya-West ✔
export class AgeLimits {
   minDate: Date;
   maxDate: Date;
   constructor(ageLimits?: AgeLimits) {
       this.minDate = new Date(ageLimits ? ageLimits.minDate : null);
       this.maxDate = new Date(ageLimits ? ageLimits.maxDate : null);
   }
}



Насколько плохой это код?
нормальный. еще ? можно на ?? заменить
источник

K✔

Kenya-West ✔ in TypeScript — русскоговорящее сообщество
Pavel Shakhov (pongo)
нормальный. еще ? можно на ?? заменить
Нельзя, версия старая (Angular 6)
источник