
Artur
14.05.2018
08:25:29

Сашка
14.05.2018
08:26:29
instanceof - лишняя операция, хотя и добавляет строгости, да.

Evgeny
14.05.2018
08:27:19
либо (<HTMLElement>element).method()
гуглить в сторону защитники типов

Artur
14.05.2018
08:29:03

Google

Evgeny
14.05.2018
08:33:11
помимо instanceof можно заюзать typeof

Artur
14.05.2018
08:34:25

Evgeny
14.05.2018
08:35:27
typeof value === 'string'

Artur
14.05.2018
08:35:42

Evgeny
14.05.2018
08:38:04
выше же предложили варианты, выбирай любой

Artur
14.05.2018
08:39:05

Evgeny
14.05.2018
08:39:50
ну я так и написал. в качестве дополнительной информации

Artur
14.05.2018
08:40:20

Evgeny
14.05.2018
08:42:21
а чем не подойдет <HTMLElement> ?

Artur
14.05.2018
08:43:11

Evgeny
14.05.2018
08:45:27
ну если человек уверен что там будет точно HTMLElement, сам например создает в стеке выше, не все ли равно что юзать

Сашка
14.05.2018
09:37:33
Ну да, instanceof в данном случае излишняя операция, к тому же достаточно тяжелая, как я понимаю. Так что реализовал через as.

Мурад
14.05.2018
09:42:24
https://stackblitz.com/edit/angular-istzzw?embed=1&file=src/main.ts&hideExplorer=1&view=editor
Посморите пожалуйста, кто хорошо шарит в event loop и task queue

Google

Yuri
14.05.2018
10:12:50
кто знает, есть в WebStorm autocompletion TypeScript’овских объектов, чтобы быстро само подставляло все поля при создании объекта заданного интерфейса?
ну то есть есть интерфейс, в нем десять полей, создаю объект. Хочется чтобы IDE вставила перечисление этих десяти ключей, а я уже писал значения .

Evgeny
14.05.2018
10:34:24
Если имплементишь в класс то поля подкидываются линтером, жмешь иконку лампочки около ошибки. если формируешь сразу объект {}, то походу не умеет

Ҫѐҏӗѫӑ
14.05.2018
14:59:30
кто-нить пробовал искать какую-нибудь генерилку тайпскрипт дефенишнов по апи нативных модулей?

Alexandr
14.05.2018
15:24:10
Приглашаю на DevConf::FrontEnd - 18 мая в эту пятницу https://devconf.ru/ru/schedule#frontend

Пёс Цифрового Сопротивления
14.05.2018
16:04:38

Kirill
14.05.2018
16:11:27

Александр
14.05.2018
16:57:13
Доброго времени суток, господа, какой конфиг tslint посоветуете? Майкрософтовский норм?

Sergey
14.05.2018
17:29:47
Что-то там половина правил про реакт)
https://github.com/palantir/tslint/blob/master/src/configs/recommended.ts
Можно палантировский за основу взять

andretshurotshka?❄️кде
14.05.2018
17:30:21

Sergey
14.05.2018
17:30:21
Но он местами спорный

andretshurotshka?❄️кде
14.05.2018
17:31:51
жизнь без жквери точно нету

Sergey
14.05.2018
17:31:53
А вот про ангулар зато ничего
Кстати из палантира
"interface-over-type-literal": true,
Проклятые слуги сотоны джависты

Kirill
14.05.2018
17:40:53

Google

Sergey
14.05.2018
17:42:08
Так, мимоходом

Kirill
14.05.2018
17:56:21
Надо обратное сделать.
Я в проекте решил использовать интерфейсы только для для implements в классах.
То есть везде в основном type. Потом на Reason перекатиться легче.

Andrew
14.05.2018
18:00:19
В фейсбуке все захватили окамлисты?
Сначала они типизировали яваскрипт на окамле, теперь вообще транспилируют

Kirill
14.05.2018
18:03:24

Andrew
14.05.2018
18:04:11

Sergey
14.05.2018
18:04:20
А зачем перекатываться на reason? Flow недостаточно маргинален?

Kirill
14.05.2018
18:06:00
Например?
Аннотация типов, типы некоторые. Но если я не прав, исправьте пожалуйста.

Sergey
14.05.2018
18:10:39

Sergey
14.05.2018
18:12:03
А кложурскрипта нет
(лисперы негодование)

Andrew
14.05.2018
18:13:25

Kirill
14.05.2018
18:19:46

Andrew
14.05.2018
18:25:19

Maxim
14.05.2018
18:30:50
А так норм

Ҫѐҏӗѫӑ
14.05.2018
18:44:30

Google

Александр
14.05.2018
18:53:40

Abdulvakhab
14.05.2018
19:20:06
Ребята, предпологалось, что этот код будет создавать четыре div'a с
onclick() на деле созадются 4 элемента, но кнопка не подхватывается первыми тремя
не могу понять почему этот метод не подхватывается первыми тремя. подскажите куда копать?

Мурад
14.05.2018
19:27:21
button откуда берется?

Morsik
14.05.2018
19:28:30
ну и зачем тебе этот map?
напиши внутри фора сразу лучше

Admin
ERROR: S client not available

Kirill
14.05.2018
19:32:12

Morsik
14.05.2018
19:33:55

Sergey
14.05.2018
19:42:43
Ну оно для реальной жизне
А так в жс много кто умеет деградировать, только толку вот

Abdulvakhab
14.05.2018
19:46:14

Stepan
14.05.2018
19:51:26
создал отдельный элемент выше.
Так а что ты хочешь сделать? У тебя сейчас создаётся 4 дива и 4 раза переопределяется обработчик нажатия на какой-то button, который где-то у тебя выше.
И это не вопрос по тайпскрипту

Abdulvakhab
14.05.2018
19:56:20

Мурад
14.05.2018
19:57:03
К javascript
Используй addEventListener вместо onclick

Max
15.05.2018
07:37:21
interface State {
view: View;
[CONFIG]: boolean;
[CALC]: boolean;
[DELETE]: boolean;
delete: ModalDialogOptions;
}
Error:(110, 23) TS2345: Argument of type '{ [x: string]: boolean; }' is not assignable to parameter of type 'State | ((prevState: Readonly<State>, props: Props) => State | Pick<State, "configViewPopup" | "c...'.
Type '{ [x: string]: boolean; }' is not assignable to type 'Pick<State, "configViewPopup" | "calculationPopup" | "deleteViewPopup" | "view" | "deleteViewPopu...'.
Property 'configViewPopup' is missing in type '{ [x: string]: boolean; }'.
я сначала поля переименовал, поэтому не удивляйся

Google

des
15.05.2018
07:38:40
ошибка на строчке [id] возникает
onClose(id: string): void {
this.setState({
[id]: false
});
}

Max
15.05.2018
07:39:27
[propName: string]: boolean

des
15.05.2018
07:39:32
сам вопрос
Всем привет, ребят, можете подсказать как сейчас в TypeScript работают с setState в реакте чтобы изменить только одно поле?
какие тренды и модные направления в связи с этим?

Max
15.05.2018
07:39:39
добавь в интерфейс стейта
это проблема не реакта

des
15.05.2018
07:40:46
interface State {
view: View;
[CONFIG]: boolean;
[CALC]: boolean;
[DELETE]: boolean;
delete: ModalDialogOptions;
[propName: string]: boolean;
}
так? выглядит странно
мне тут подсказывают Partial использовать

Max
15.05.2018
07:49:06
ну если у тебя нет использования пропертей а идут ключи рандомные то так
Partial просто делает все поля интерфейса опциональными

des
15.05.2018
07:53:00
от этого другая ошибка появляется уже в типе стейта
Error:(35, 5) TS2411: Property 'deleteViewPopupConfig' of type 'ModalDialogOptions' is not assignable to string index type 'boolean'.

Max
15.05.2018
07:57:17
ну переведи )
deleteViewPopupConfig задай нормально

Aleh
15.05.2018
08:12:13

Max
15.05.2018
08:13:07

Aleh
15.05.2018
08:13:28
Нужно я бы сказал)