@typescript_ru

Страница 608 из 669
Alexandr
15.05.2018
18:48:36
да, для браузера =)

Sergey
15.05.2018
18:48:50
Тады ой

Тс кажется таки до сих пор не умеет модули которые бы браузер жрал бы

Ну я правда не в курсе как там в современных бандлерах, застрял во временах browserify

Google
Alexandr
15.05.2018
18:56:04
да думал раз раз и начать кодить на TS =)

а тут оказывается надо изучать все это дело

Node JS давно копал, все забыл уже

Sergey
15.05.2018
18:58:45
Ну нода и тс и фронт и тс это очень разные ээээ способы времяпровождения

Ангулар хотя бы сразу на тс

А для вуе кто-то говорил что тайпинги вообще нельзя пока сделать нормально

Andrew
15.05.2018
19:01:07
А для вуе кто-то говорил что тайпинги вообще нельзя пока сделать нормально
Вроде как они сами теперь официальные тайпинги пишут

Andrew
15.05.2018
19:07:55
Я сам давно не проверял, как там дела, но следующий проект буду точно делать на TS + Vue

Ҫѐҏӗѫӑ
15.05.2018
19:09:10
там шаблоны нетипизированные

Bogdan
15.05.2018
19:09:10
ойй, там весьма кривые тайпинги(

по карйей мере для vuex (store, для управления состянием, вобще плохо тайпается)

Sergey
15.05.2018
19:10:04
Я сам давно не проверял, как там дела, но следующий проект буду точно делать на TS + Vue
Ну в любом случае хорошо знать разные инструменты. Мне самому куда-то надо податься с нг1

Google
Andrew
15.05.2018
19:22:26
там шаблоны нетипизированные
Вот тут чувак пишет что если использовать Vue.extend, свойства в шаблонах статически проверяются: https://frontendsociety.com/writing-single-file-components-vue-files-in-typescript-vue-class-component-vs-vue-extend-c5c1d8e47b7

Ну в любом случае хорошо знать разные инструменты. Мне самому куда-то надо податься с нг1
Точно такая же ситуация, после ng1 пробовал разные фреймворки (ng2, react) и в итоге остановился на Vue как субъективно самом приятном

Ҫѐҏӗѫӑ
15.05.2018
19:24:32
там написано про какой-то vetur

просто так тайпчекать шаблоны очевидно не получится, потому что это невалидный тайпскрипт

и это причина, по которой в ангуляре форк tsc

Sergey
15.05.2018
19:26:32
там написано про какой-то vetur
Это расширение для вскода

Ҫѐҏӗѫӑ
15.05.2018
19:26:49
я это прочитал

Sergey
15.05.2018
19:27:42
я это прочитал
И это хорошо

Bogdan
15.05.2018
19:28:19
в итоге внешние файлы испоьзую <script lang="ts" src="./CategoryList.ts"> </script>

Andrew
15.05.2018
19:30:55
Ҫѐҏӗѫӑ
15.05.2018
19:31:02
там ленгвидж сервис, который с тайпскриптовым совместим

еще в конце статьи написано что от этого страдают пропсы

говорят во вью есть режим jsx. проще его с тайпскриптом заюзать имхо

Сергей
15.05.2018
19:33:18
Ҫѐҏӗѫӑ
15.05.2018
19:33:45
да и хуй с ним

Bogdan
15.05.2018
19:35:00
да, вродь как jsx не очень)

Сергей
15.05.2018
19:35:16
шаблоны так-то говнище

что в вуе, что в ангуляре

Google
Stanislav
15.05.2018
19:35:29
?

Ҫѐҏӗѫӑ
15.05.2018
19:35:42
в статических шаблонах есть толк когда это позволяет оптимизации делать

а во вью виртуальный дом

нахуя им статические шаблоны - хз

Сергей
15.05.2018
19:36:21
консерваторы, решили ангуляр1щиков перетащить

Ҫѐҏӗѫӑ
15.05.2018
19:36:34
в ангуляре и глиммере в этом есть толк

в vue - бесполезная хрень

тайпчек только убивает

Sergey
15.05.2018
19:37:27
в статических шаблонах есть толк когда это позволяет оптимизации делать
А всякие там радости интеллисенс это другими каким-то средствами делается? Не про это речь?

Сергей
15.05.2018
19:37:48
glimmer который на ember??

Ҫѐҏӗѫӑ
15.05.2018
19:37:58
интеллисенс - это для любого языка кагбэ

Сергей
15.05.2018
19:38:09
чет говно

Bogdan
15.05.2018
19:38:16
тайпчек только убивает
а что ты предлагаешь? с кода создавать компоненты?

Ҫѐҏӗѫӑ
15.05.2018
19:38:17
я и говорю. бесполезность

glimmer который на ember??
он не на, а под)

Sergey
15.05.2018
19:38:36
интеллисенс - это для любого языка кагбэ
Ну в html нихрена не для любого, очень даже мало для какого

Сергей
15.05.2018
19:38:42
Ҫѐҏӗѫӑ
15.05.2018
19:39:02
а что ты предлагаешь? с кода создавать компоненты?
я предлагаю либо юзать шаблоны по делу, либо юзать jsx / вызовы фуекций

тем хуже
да не, глиммер огонь

Google
Сергей
15.05.2018
19:39:37
Ҫѐҏӗѫӑ
15.05.2018
19:40:25
чем он хорош?
там архитнектура очень крутая и оптимизации потенциальные

Сергей
15.05.2018
19:40:45


Ҫѐҏӗѫӑ
15.05.2018
19:41:03
Ну в html нихрена не для любого, очень даже мало для какого
интеллисенс - это вообще не привязано к языку никак

Admin
ERROR: S client not available

Ҫѐҏӗѫӑ
15.05.2018
19:41:13
ну что ж поделать

я убеждать не собираюсь если что)

Сергей
15.05.2018
19:41:36
никак не запилят идеальный фреймворк/библиотеку ))

andretshurotshka?❄️кде
15.05.2018
19:42:56
похоже на мол

Ҫѐҏӗѫӑ
15.05.2018
19:44:47
на што?

Sergey
15.05.2018
19:45:04
интеллисенс - это вообще не привязано к языку никак
Чёт мы друг друга не понимаем, забей)

Sukhrob
16.05.2018
07:54:26


Bogdan
16.05.2018
08:02:14
Но ведь, если он абстрактный, то экземпляр все-равно не создать

Pavel
16.05.2018
08:39:18
Вроде как-то так... NodeClass?: new()=>Node;

Sukhrob
16.05.2018
08:48:24
Вроде как-то так... NodeClass?: new()=>Node;
дело сдвинулось, но теперь он выдает ошибку: Expected 0 arguments, but got 1 то есть в новом классе похоже надо как-то определится с аргументами когда АПИ конструкторов совпадает, то порядок. Но что делать, если АПИ конструкторов производных классов отличается от родительского?

Pavel
16.05.2018
08:53:07
А друг от друга у производных отличается?

Может, так? NodeClass?: new(value:number)=>Node;

Sukhrob
16.05.2018
08:55:13
Может, так? NodeClass?: new(value:number)=>Node;
ну да это прокатило Спасибо за подсказку самой формулировки что тут производные классы!!! буду думать как это использовать дальше во благо))

Google
Sukhrob
16.05.2018
08:56:09
А друг от друга у производных отличается?
да...чет так вышло что в одном из них последний аргумент стал необязательным... в общем это уже другая проблема. Главное что я теперь знаю как обозначить множество производных определенного класса

Dmitrii
16.05.2018
11:04:22
Всем привет. Пытаюсь тут заиспользовать withDefaults из typelevel-ts https://github.com/gcanti/typelevel-ts#objectdiff Сначала проблема была в том, что объект можно было создать с неправильными значениями interface Props { theme: 'normal' | 'action'; size: 's' | 'm' | 'l'; } const MyComponent: SFC<Props> = ({ size, theme }) => <div>size is {size}, theme is {theme}</div>; const EnchancedComponent = withDefaults(MyComponent, { theme: 'zdarova_ebat' }); // ошибки нет потом я немного функцию подпилил, теперь инлайн объект работает (на примере выше ошибка кидается). Но не инлайн объект по прежнему не работает, пока ему явно тип не задать interface Props { theme: 'normal' | 'action'; size: 's' | 'm' | 'l'; } const defaultProps = { theme: 'zdarova_ebat' }; // TS вывел тип как { theme: string } const MyComponent: SFC<Props> = ({ size, theme }) => <div>size is {size}, theme is {theme}</div>; const EnchancedComponent = withDefaults(MyComponent, defaultProps); // здесь ошибка, что theme: string не совпадает с theme: 'normal' | 'action' будет работать, если явно тип указать ... const defaultProps: Pick<Props, 'theme'> = { theme: 'zdarova_ebat' }; // теперь будет ошибка но как-то это не круто( Есть ли способы меньше бойлерплейта писать?

Kirill
16.05.2018
17:21:59
Всем привет. Пытаюсь тут заиспользовать withDefaults из typelevel-ts https://github.com/gcanti/typelevel-ts#objectdiff Сначала проблема была в том, что объект можно было создать с неправильными значениями interface Props { theme: 'normal' | 'action'; size: 's' | 'm' | 'l'; } const MyComponent: SFC<Props> = ({ size, theme }) => <div>size is {size}, theme is {theme}</div>; const EnchancedComponent = withDefaults(MyComponent, { theme: 'zdarova_ebat' }); // ошибки нет потом я немного функцию подпилил, теперь инлайн объект работает (на примере выше ошибка кидается). Но не инлайн объект по прежнему не работает, пока ему явно тип не задать interface Props { theme: 'normal' | 'action'; size: 's' | 'm' | 'l'; } const defaultProps = { theme: 'zdarova_ebat' }; // TS вывел тип как { theme: string } const MyComponent: SFC<Props> = ({ size, theme }) => <div>size is {size}, theme is {theme}</div>; const EnchancedComponent = withDefaults(MyComponent, defaultProps); // здесь ошибка, что theme: string не совпадает с theme: 'normal' | 'action' будет работать, если явно тип указать ... const defaultProps: Pick<Props, 'theme'> = { theme: 'zdarova_ebat' }; // теперь будет ошибка но как-то это не круто( Есть ли способы меньше бойлерплейта писать?
Так ты не прокидывай 'vsyakuu_huety' в theme, у тебя ведь указано, что 'normal' или 'action'.

Kirill
16.05.2018
17:26:25
Так ты не прокидывай 'vsyakuu_huety' в theme, у тебя ведь указано, что 'normal' или 'action'.
Хотя нет, не прокатит. Нужно указать у defaultProps тип Props и всё ок тогда. Как раз защитишь себя от прокидывания 'vsyakoi_hueti'.

как с ризоном?
Не понял вопрос.

andretshurotshka?❄️кде
16.05.2018
17:29:39
ну типо лучше чем флоу и тайпскрипт?

ето не к сообщению вопрос)

Kirill
16.05.2018
17:37:42
ну типо лучше чем флоу и тайпскрипт?
Пока не могу сказать, не имея практического опыта. Но в теории, касательно вывода типов, пишут что лучше. Плюс вчера в чате ризона же была дискуссия на тему мощности типов ocaml.

andretshurotshka?❄️кде
16.05.2018
18:12:06
пинг

Bogdan
16.05.2018
18:12:43
понг

andretshurotshka?❄️кде
16.05.2018
18:13:21
так че про диспатч?

Bogdan
16.05.2018
18:14:13
типа не логичнее было бы его так типизировать?

andretshurotshka?❄️кде
16.05.2018
18:15:28
ну есть допустим типы миддлвар node_modules/redux/index.d.ts export interface Dispatch { ... } node_modules/redux-thunk/index.d.ts declare module 'redux' { аппендить кейс типо? }

Страница 608 из 669