@typescript_ru

Страница 216 из 669
andretshurotshka?❄️кде
25.04.2017
12:08:22
есть в 2.3

Max
25.04.2017
12:08:27
у меня 2.3

Max
25.04.2017
12:08:37
Google
Max
25.04.2017
12:08:41
тут правда генерик лучше

https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#generic-parameter-defaults

збс

andretshurotshka?❄️кде
25.04.2017
12:09:45
T = DefaultType

Max
25.04.2017
12:10:57
так

а можешь ткнуть в статью или объяснить чем лучше type vs interface?

тут вроде пишут что те же яйца, только с лимитами

http://stackoverflow.com/a/37233777

> Interface types have many similarities to type aliases for object type literals, but since interface types offer more capabilities they are generally preferred to type aliases.

а генерики V/T и прочее это ок?

ну однобуквенная херня

andretshurotshka?❄️кде
25.04.2017
12:25:41
ок

Alex
25.04.2017
12:34:54
Народ, а как в TS с css-modules? Я читал, что боль.

Google
Max
25.04.2017
12:35:18
ох

генерики потянули за собой кучу говна в 5 файлах

как форс-каст сделать? )

особенно заеибсь class VDataSheet extends DataSheet<V>{} return (<VDataSheet …/>)

:)

andretshurotshka?❄️кде
25.04.2017
12:42:15
Max
25.04.2017
12:42:36
ну пришлось в any

в другой тип ругался все равно

Max
25.04.2017
12:43:29
ну типа нельзя сделать return (<DataSheet<V....

Dreamerinnoise
25.04.2017
13:25:11
Может мимо вопрос

а по Haxe есть тг чат?

Aleh
25.04.2017
18:55:13
А implements делается банально: const a: SomeYourType = new SomeYourClass

Ivam
26.04.2017
09:22:56


Может кто подскажет почему на notExistValue1 ошибка не вываливается?

Max
26.04.2017
09:23:26
дай код

у себя прогоню

Ivam
26.04.2017
09:23:50
interface ITest { someValue: string } type SomeFunction<R> = () => R; const test1: SomeFunction<ITest> = () => ({ someValue: 'asasdsd', notExistValue1: 'asda', }) const test2: ITest = { someValue: 'asasdsd', notExistValue2: 'asda', }

Max
26.04.2017
09:25:02
➜ formbuilder git:(master) ✗ ./node_modules/.bin/tsc src/test.ts src/test.ts(14,3): error TS2322: Type '{ someValue: string; notExistValue2: string; }' is not assignable to type 'ITest'. Object literal may only specify known properties, and 'notExistValue2' does not exist in type 'ITest'.

Google
Ivam
26.04.2017
09:25:19
это на notExistValue2 падает

а не на notExistValue1

Max
26.04.2017
09:25:40
а

хм

Алан
26.04.2017
15:09:41
Фарту масти ауе

andretshurotshka?❄️кде
26.04.2017
15:10:33
так падает interface ITest { someValue: string } const test1 = (): ITest => ({ someValue: 'asasdsd', notExistValue1: 'asda', })

https://goo.gl/b3ypi4

Boris
26.04.2017
15:57:59
ребята как в тс прописать childContextTypes

?

Dreamerinnoise
26.04.2017
16:05:54
ребята как в тс прописать childContextTypes
Это должно быть статичное поле static childContextTypes = { foo: React.PropTypes.string }

Boris
26.04.2017
16:16:49
да это ясно я думал что можно без PropTypes обойтись )

Wiggly
26.04.2017
22:14:41
интересно, кто как типизирует redux + thunk?
Можно написать неймспейс и интерфейсами все описать и затипизировать... но получается оч длинно (

Сергей
26.04.2017
22:24:36
from
27.04.2017
00:01:14
А вот если я пишу у себя в компоненте что-то типа this.something = 'anything' то тайпскрипт ругается: Property 'something' does not exist on type 'MyComponent'

как правильно сказать, что я хочу разрешить это свойство на компоненте?

from
27.04.2017
08:36:51
private something = 'anything'
Хм, спасибо, а если я не хочу private?

Dreamerinnoise
27.04.2017
08:37:20
Хм, спасибо, а если я не хочу private?
ну тогда не пиши private :)

оно будет public по дефолту

Google
Aleh
27.04.2017
08:44:18
Хм, спасибо, а если я не хочу private?
Если надо присвоить где-то потом, то можно class Component { something: string }

Но лучше конечно присвоить пустую строку)

from
27.04.2017
08:45:05
Если надо присвоить где-то потом, то можно class Component { something: string }
Ага, так понятнее) Ну у меня там не строка на самом деле а объект

Admin
ERROR: S client not available

from
27.04.2017
08:45:21
Это я для упрощения написал)

Alex
27.04.2017
12:43:26
Народ, как проверить, что элемент есть в enum? Мне бы как-то это в интерфейсе делать

Alex
27.04.2017
12:45:48
вот и не хотелось бы, хотелось бы при сборке

Сергей
27.04.2017
12:46:11
если переменная, то только рантайм

Alex
27.04.2017
12:46:52
а есть способ как-то проверять при сборке? Могу даже от enum отказаться

Сергей
27.04.2017
12:46:58
нет

пользовательский ввод ты как проверишь при сборке?

также и тут

если переменная (в ней может быть что угодно, в зависимости от внешних условий), то только рантайм

Alex
27.04.2017
12:49:05
ну у меня все хвосты найти можно, откуда пришла переменная. Условно - у меня есть кнопка и у нее есть определенные стили. Стилей ограниченное количество. Например, 5. И им соответствуют id от 1 до 5. Хотелось бы кидать ворнинг при написании renderButton(6)

andretshurotshka?❄️кде
27.04.2017
12:51:00
const f = (t: 1 | 2 | 3 | 4 | 5) => { }

Alex
27.04.2017
12:51:25
Да, я сейчас как раз это тестирую

но это неудобно

Сергей
27.04.2017
12:52:04
Alex
27.04.2017
12:52:17
у меня enum Color = { Blue, Orange, Grey, White } и тогда могу юзать Color.Blue, а тут придется юзать, например, 2

Google
Сергей
27.04.2017
12:52:24
но это в случае, если ts сможет вычислить

и Color['Blue']

Alex
27.04.2017
12:52:50
сейчас у меня

type ColorName = 1 | 2 | 3 | 4 | 5; можно как-то типа type ColorName = getids(MyEnum)

?

Сергей
27.04.2017
12:53:47
нет вроде



Alex
27.04.2017
12:54:47
ну это я понимаю

Сергей
27.04.2017
12:54:59
окей

что будет Object.keys(Foo) ?

Alex
27.04.2017
12:55:23
0,1,2. Но это же только в рантайме?

Сергей
27.04.2017
12:55:33
нет

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