@typescript_ru

Страница 147 из 669
Vladimir
08.01.2017
10:38:48
Дмитрий
08.01.2017
10:38:55
Ну у меня не оч subset

так то

Aleh
08.01.2017
10:39:00
А куда деваться?
так а что у тебя не работает?

Google
Aleh
08.01.2017
10:39:11
символы?

Дмитрий
08.01.2017
10:39:17
redux-act типизированный)

Гляньте как его используют, я пока пример найду

Vasiliy
08.01.2017
10:39:46
да, я знаю, юзал его там ф-ции в качестве ключа

Aleh
08.01.2017
10:40:49
Дмитрий
08.01.2017
10:40:58
Воот

createAction возвращает функцию, которая имеет toString

И благодаря этому маппится

Aleh
08.01.2017
10:41:24
и к чему она делает toString?

Дмитрий
08.01.2017
10:41:39
Но ts об этом знать не хочет

Aleh
08.01.2017
10:41:40
к строке, которую передают?

Дмитрий
08.01.2017
10:41:52
Google
Дмитрий
08.01.2017
10:41:57
Чтобы быть литералом

Aleh
08.01.2017
10:42:00
я понимаю

Vasiliy
08.01.2017
10:42:03
https://github.com/pauldijou/redux-act/blob/master/src/createAction.js#L85

Aleh
08.01.2017
10:42:04
а результат toString

Vasiliy
08.01.2017
10:42:06
type

Vladimir
08.01.2017
10:42:11
Просто не нужно использовать такие библиотеки

Aleh
08.01.2017
10:42:11
jr

ок

ща

Vasiliy
08.01.2017
10:42:16
я уже не использую

(:

Дмитрий
08.01.2017
10:42:37
Просто не нужно использовать такие библиотеки
Хочу и использую, нормально она работает

Кто ж виноват, что ts сломанный

Опять всё руками писать как в чистом redux — нет, спасибо

Vladimir
08.01.2017
10:43:21
В данном случае сломана библиотека

Vasiliy
08.01.2017
10:43:34
но я использую другую библиотеку подобную) и там тоже проблемы с типами, только другие

Vladimir
08.01.2017
10:43:38
Многие библиотеки используют бессмысленные хаки

Дмитрий
08.01.2017
10:43:42
Да да да

Естественно

Если я там Symbol.toStringKey заюзаю - ts починится?

Google
Дмитрий
08.01.2017
10:44:07
Сомневаюсь

Vladimir
08.01.2017
10:44:43
toStringTag?

Нет конечно

И не должно

Дмитрий
08.01.2017
10:45:14
toPrimitive / toStringTag

Vladimir
08.01.2017
10:45:47
ТС и Flow сознательно недопускают неявную конвертацию

Нужно конвертация - делай явно

Дмитрий
08.01.2017
10:46:08
С символами это явная конвертация

Vladimir
08.01.2017
10:46:13
Нет

Это то же самое

Дмитрий
08.01.2017
10:46:30
Тогда это проблема ts

Vladimir
08.01.2017
10:46:39
Нет, это твоя проблема

Vladimir
08.01.2017
10:46:54
Если ты считаешь что это критично - не используй ТС

Наслаждайся гибкостью js

Дмитрий
08.01.2017
10:47:35
Если бы мне платили доллар каждый раз как дают совет, которого я не просил, то я был бы уже миллионером

Vladimir
08.01.2017
10:48:14
Так это и не совет

Совет - хватит ныть, это не поможет

Дмитрий
08.01.2017
10:48:42
С тебя уже два доллара

Aleh
08.01.2017
10:52:14
короче, в случае redux-act надо явно вызывать toString

потому что это то, для чего сделаны ts&flow

Google
Aleh
08.01.2017
10:52:31
чтобы не было неявных преобразований

ну и если вызывать явно toString, то библиотека типизируется элементарно

Дмитрий
08.01.2017
10:53:51
Не, тогда смысл краткой записи пропадает

Aleh
08.01.2017
10:54:19
ну, если в redux-act сделают у функций поле t или type

то будет несильно длино

Дмитрий
08.01.2017
10:54:26
Я её и так типизировал, просто указал ts, что результат createAction так же может где-то юзаться в качестве строки

то будет несильно длино
Там есть что-то такое

Admin
ERROR: S client not available

Дмитрий
08.01.2017
10:55:15
Но это всё равно не то, если результат использования библиотеки будет с таким визуальным оверхедом

Aleh
08.01.2017
10:55:33
ну делать результат createAction ActionCreator&string такая себе идея

потому что это неправда

Дмитрий
08.01.2017
10:55:45
Ну фактически правда

Разве нет?

Aleh
08.01.2017
10:55:51
const inc = createAction()

inc.split()

Дмитрий
08.01.2017
10:56:46
Это было бы проблемой, если бы результат использовался в качестве строки хоть где-нибудь явно

Aleh
08.01.2017
10:56:51
https://gist.github.com/mkusher/e0cb77dac82e77253260d50653c88ecb

я советую так

Дмитрий
08.01.2017
10:57:07
Ворнинг должен быть уже при одной попытке такого действия

Aleh
08.01.2017
10:57:27
а с чего он должен быть, если ты сказал, что это строка)

Google
Дмитрий
08.01.2017
10:57:34
ой, всё

С одной стороны я уже наслужался про "просто не юзай так", вот теперь моя очередь сказать так, просто не юзай так

Она просто для этого не предназначена

Vladimir
08.01.2017
10:59:14
Обманывать тайпчекер - последнее дело

Дмитрий
08.01.2017
10:59:21
Боже

Хорошо

Я понял твою позицию

Где-то так пол года назад

Aleh
08.01.2017
10:59:51
я тоже так считаю, но если в твоем случае это работает, то ок)

Roman
08.01.2017
12:44:35
а можно как-то во флоу обжект тип конвертировать в енум для значений? как $keys, только для значений, а не для ключей

Vladimir
08.01.2017
12:46:51
Нет

Точнее, может быть и можно

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

Поэтому если есть объект и его тип явно не указан, то значения полей будут string

Roman
08.01.2017
13:00:22
Ну интересует для обьекта у которого все ключи описаны явно, то есть ейдж кейсы не страшны, но видимо просто нет такого функционала?

Vladimir
08.01.2017
13:01:36
Да, скорее всего не получится

Roman
08.01.2017
13:03:18
Понятно, спасибо

Aleh
09.01.2017
10:03:01
кто может подкинуть ссылку на issue проблемы ts с реакт компонентами, которые с generic'ами?

Nikolay
09.01.2017
10:08:31
https://github.com/Microsoft/TypeScript/issues/3960 оно?

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