@typescript_ru

Страница 11 из 669
Gordey
19.06.2016
16:45:57
да не, все правильно. я вот как прикрутил ts к проекту, надобавлял тайпингов и сделал 1 компонент .tsx’ом - на этом у меня все и подзависло)

вернусь к этому всему позже

Vasiliy
19.06.2016
16:46:41
я думаю ты правильно сделал, тк я просираю конкретно по срокам сейчас и херачу без остановки, зато я счастлив) мне более-менее даже нравится то, что у меня получается, хотя надо кому-нибудь потом показать, может я вообще какую-то дичь тут один сижу делаю

Gordey
19.06.2016
16:51:50
> @vyorkin может я вообще какую-то дичь тут один сижу делаю во-во, у меня такой же страх))

Google
Gordey
19.06.2016
16:52:04
срочно нужен code review)

Ҫѐҏӗѫӑ
19.06.2016
21:20:36
https://www.youtube.com/watch?v=_iTlU6mmJ6s

еще не смотрел. говорят это для новичков

Aleh
19.06.2016
21:26:30
полистал, да, для новичков, в чем отличие таргетов, систем модулей и все такое

Ҫѐҏӗѫӑ
20.06.2016
03:01:30
следующий https://www.youtube.com/watch?v=5xMfQRld1a8

Vasiliy
20.06.2016
13:25:46
полюбому же где-то есть интерфейсы с определениями обработчиков событий

типа onBlur?: (event: FocusEvent) => void; onFocus?: (event: FocusEvent) => void;

чтобы не писать самому это

Artur
20.06.2016
13:32:50
node.d.ts?

lib.d.ts

Aleh
20.06.2016
13:33:25
чет не улавливаю суть запроса

Vasiliy
20.06.2016
13:33:58
ну я постоянно пишу в

interface IMyComponentProps { onBlur?: (event: FocusEvent) => void; onFocus?: (event: FocusEvent) => void; onChange?: (value: string, event: Event) => void; onClick?: (event: MouseEvent) => void;

Google
Vasiliy
20.06.2016
13:34:23
что-то типа того

я хочу просто унаследоваться от какого-то интерфейса и все

The MouseEvent interface represents events that occur due to the user interacting with a pointing device (such as a mouse). Common events using this interface include click, dblclick, mouseup, mousedown.

например

т.е. известно на каких DOM элементах какие могут быть обработчики с какими типами событий

хочется интерфейсы, где все они собраны в одном месте, чтобы не перечислять постоянно, а унаследоваться

т.е. я думаю что-то я скорее всего делаю что-то совсем не то, врядли может быть такое, что еще никто не думал об этом

IInputEventHandlers, IButtonEventHandlers

Aleh
20.06.2016
13:43:01
@vyorkin https://github.com/Microsoft/TypeScript/blob/master/lib/lib.dom.d.ts#L3264

вот они не загоняются

Roman
20.06.2016
13:44:39
вот они не загоняются
норм, хоть кто-то где-то это говно опишет

Aleh
20.06.2016
13:45:37
и то правда)

Vasiliy
20.06.2016
13:48:49
понятно, там не выделены эти интерфейсы, жаль

Artur
20.06.2016
13:51:40
А какой-нибудь DOMAttributes из react.d.ts нельзя взять?

Например

Vasiliy
20.06.2016
13:54:59
да, можно, просто не нравится, что везде все в куче

перфекционизм) но имхо не должно быть у инпута

onSeeked?: ReactEventHandler; onSeeking?: ReactEventHandler; :)

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

Artur
20.06.2016
14:00:51
Перестанешь загоняться, когда везде начнешь писать any :)

Google
Vasiliy
20.06.2016
14:06:25
сначала подключаем типы, а потом отключаем)

Alexander
20.06.2016
14:24:26
Gradual untyping

Artur
20.06.2016
14:26:08
?

Vasiliy
20.06.2016
23:26:51
в новом rxjs вот это просто огонь: http://reactivex.io/rxjs/manual/overview.html#choose-an-operator, это вот прям именно то, чего мне так не хватало (хотя я даже так нихрена пока не понимаю, тк слишком много всего)

Ҫѐҏӗѫӑ
20.06.2016
23:54:46
о. новые доки

давно они?)

Vasiliy
20.06.2016
23:56:31
вроде нет, они крутые, но мне даже с ними крышу немного сносит от апи, нашел для Dash доксет но для rxjs4 https://github.com/riiid/rxjs-dash, посмотрел – вроде не сложно на 5 перетащить. как закончу с работой – займусь

Aleh
21.06.2016
11:07:08
поставил vscode, чет у него все теже проблемы, что у tsu с tsserver для vim :(

Vasiliy
21.06.2016
11:16:42
т.е. возможно проблема не в tsuquyomi, наверное, это хорошо – может быть ее быстрее решат)

Aleh
21.06.2016
11:49:33
да, надеюсь)

вот вроде что-то похожее https://github.com/Microsoft/TypeScript/issues/8717

Oleg
21.06.2016
13:13:52
Кто какие правила линтинга Для реактовых проектов использует

Ҫѐҏӗѫӑ
21.06.2016
13:17:08
airbnb styleguide

Aleh
21.06.2016
13:17:11
+

Andrey
21.06.2016
13:17:24
+

Vasiliy
21.06.2016
13:17:50
+/- на разных проектах – разные, airbnb популярнее standard

может меня многие сейчас будут ругать, но вот на текущем проекте (ему 5 дней жизни) у меня такой .eslintrc

Oleg
21.06.2016
13:21:19
Я ссылку жду на tslint.json

Vasiliy
21.06.2016
13:21:31
https://gist.github.com/vyorkin/70b51cf07e80b730411af3bedacfeae9

tslint.json: https://gist.github.com/vyorkin/68a36ed674c9610bc7ed4f68a4e44409

Google
Oleg
21.06.2016
13:22:54
Конфиг tslint-react не пользуется успехом

Ощущение что ни у кого линтинга нет

А тайпскриптовый tslint.json как вам?

Vasiliy
21.06.2016
13:27:18
не понял вопрос

мне мой tslint.json? – нормально

Ҫѐҏӗѫӑ
21.06.2016
13:33:11
можно tslint eslint’ом расширять

Vasiliy
21.06.2016
13:35:01
да, вот у меня сейчас так (tslint-eslint-rules в конфиге выше)

Oleg
21.06.2016
13:35:53
https://github.com/Microsoft/TypeScript/blob/master/tslint.json

Vasiliy
21.06.2016
15:30:59
а, теперь понял, ну он минималистичен – только то, что им надо

чет я уже полчаса не могу понять что ему не нравится

const getCicularStyle = (props: IProgressProps) => {

ERROR in ./src/app/components/ui/progress/index.tsx (48,25): error TS2354: No best common type exists among return expressions. ^ вот такая ошибка

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

ок, проблема здесь: const { calculateRatio, mode, buffer, value } = props; if (mode !== ProgressModes.Indeterminate) return {}; // <<- export interface IProgressProps { // … mode?: ProgressModes; // <<- // … } export enum ProgressModes { Determinate, Indeterminate, }

только я все равно пока не понимаю в чем дело

похоже, что так сравнивать нельзя, но как тогда?

Aleh
21.06.2016
17:05:31
может проблема в return?

не может понять какой возвращаемый тип у функции

Vasiliy
21.06.2016
17:05:46
да

да так и есть

Google
Vasiliy
21.06.2016
17:06:22
linear: (props: IProgressProps): Object => { вот так он понял

но как можно было не вывести тип в таком простом случае? вроде же возвращаю объект в 2 местах

Aleh
21.06.2016
17:06:56
нуу, если общий тип это Object, то вероятно ты мог где-то тупануть

Vasiliy
21.06.2016
17:07:11
circular: (props: IProgressProps): Object => { const { calculateRatio, mode, value } = props; if (mode !== ProgressModes.Indeterminate) return {}; const xScale = 2 * Math.PI * 25; const x = xScale * calculateRatio(value); const y = 400; return { strokeDasharray: ${x}, ${y} }; },

^ вроде очевидно же, что у меня Object в обоих случаях

Aleh
21.06.2016
17:07:54
так блин, 99% у тебя Object

99% что у функции return это Object

редко скаляр

в таких ситуация мне кажется лучше явно писать

type Stroke = { strokeDasharray?: int[] };

ну или типа того

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