
Ҫѐҏӗѫӑ
20.10.2016
13:15:08
у тебя мак про?
но с флоу там так се. каверидж бы
но в целом жить можно

Google

Ҫѐҏӗѫӑ
20.10.2016
13:16:10
с тайпскриптом все супер

Aleh
20.10.2016
13:16:21
а ты юзаешь интеграцию с tsserver?

Ҫѐҏӗѫӑ
20.10.2016
13:16:26
нет

Aleh
20.10.2016
13:16:31
там вроде забандленный ts 1.8 идет

Ҫѐҏӗѫӑ
20.10.2016
13:16:39
ну в смысле вон ту галочку?
а, ну проектовский юзаю конечно

Aleh
20.10.2016
13:16:56
ну да, там чето experimental

Ҫѐҏӗѫӑ
20.10.2016
13:17:01
в еап забандлен 2
не, экспериментал не юзаю

Aleh
20.10.2016
13:17:11
я пробовал подключать проектовый/глобальный
но он все равно в npm тайпинги не распознал

Ҫѐҏӗѫӑ
20.10.2016
13:17:26
я не понял что это и не стал разбираться чеснгря

Aleh
20.10.2016
13:19:24
так а в npm тайпинги видит? Может там индекс надо было потереть как-то, чето он не видел короч

Google

Nikita
20.10.2016
13:19:52
да гуано потому что

Aleh
20.10.2016
13:20:06
ну вот когда галочку tsserver поставили, то все увидел
ну он видимо просто показывал то, что tsserver понимает

Ҫѐҏӗѫӑ
20.10.2016
13:20:38
хз. у меня пока нет тайпингов из @types
проектов много, сейчас бабель и без типов
легаси освежаю

Aleh
20.10.2016
13:21:51
норм
я вот наши перевел на ts2 + npm, полет норм
единственный тайпинг, который правил - react-redux, не знаю че они там вытворили, но ни один usage connect не работал корректно

Nikita
20.10.2016
13:23:41

Aleh
20.10.2016
13:24:08
результат connect та же компонента, что и на входе, но state типизирован

Nikita
20.10.2016
13:24:52
state?

Aleh
20.10.2016
13:25:03
в mapStateToProps
ну и dispatch тоже типизирован, потому что у них вроде два any
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/react-redux/react-redux.d.ts#L66
а, типа отдельные пропсы делаешь для компонента без connect и c?

Nikita
20.10.2016
13:35:00
не совсем

Aleh
20.10.2016
13:45:24
не совсем
https://gist.github.com/adaf3539a75bafafbd185f2866209587
TProps extends P

Google

Aleh
20.10.2016
13:46:57
на самом деле хз, только щас добавил, вроде ничего не упало)

Nikita
20.10.2016
13:47:29
type Props = {
foo: string,
bar: string
}
function Test(props: Props) {}
const WrappedTest = connect(() => ({ foo: 1 }))(Test);
<WrappedTest bar={1} /> // ok
<WrappedTest /> // expected "bar: string" got nothing, bitch
вот такое хочу)

Aleh
20.10.2016
13:48:13
да, я понимаю)
для этого diff нужен(
так что пока foo?: string

Nikita
20.10.2016
13:51:10
@vkurchatkin а как ты биндишь функции?
в смысле внутри компонента хэндлеры

Vladimir
20.10.2016
13:52:03
Ну я фронтэнд не пишу, но когда мне надо что то такое, я делаю отедельное проперти под забинденную функцию
С отдельным именем
this.onFooCb = () => this.onFoo()

Nikita
20.10.2016
13:55:35
а я правильно понимаю, я так теряю типы?

Vladimir
20.10.2016
14:25:00
да

Ҫѐҏӗѫӑ
21.10.2016
08:04:16
ну он там активен, не удивительно

Nikita
21.10.2016
10:26:58
const initialState: EditorState = {
text: '',
autoFocus: true,
context: null
};
return {
...state,
content: {
type: 'reply',
message: action.payload
}
};
народ, а как вы с такими ошибками боретесь? системы типов вообще позволяют их ловить?

Aleh
21.10.2016
10:27:34
а в чем ошибка?

Nikita
21.10.2016
10:27:39
content - очепятка, должен быть context. Вчера минут 10 ошибку искал
вот да, я также вчера не понимал))

Aleh
21.10.2016
10:28:32
аа

Google

Vladimir
21.10.2016
10:28:55
Возможно $Exact

Admin
ERROR: S client not available

Aleh
21.10.2016
10:28:56
ну у тс spread и типизация Object.assign только в планах(есть пр), так что он точно никак

Nikita
21.10.2016
10:34:01
exact не любит Object.assign(
export type EditorState = $Exact<{
text: string,
autoFocus: boolean,
context: ?EditorSendContext
}>;

Vladimir
21.10.2016
10:35:11
Да, придется подождать такое

Nikita
21.10.2016
10:35:53
надо попробовать для eslint написать правило

Ҫѐҏӗѫӑ
21.10.2016
14:27:13
хотя может уже на оба

Oleg
21.10.2016
17:03:31
mobx кто использует?

Алексей
21.10.2016
18:40:19

Oleg
21.10.2016
18:40:55
Я с react
Ну не суть. Какие практики, не описанные в доках признаёшь полезными?

Алексей
21.10.2016
21:06:40

Ҫѐҏӗѫӑ
21.10.2016
21:07:08
но я на нем не писал ничего)
и не в него, а интероп с rxjs я сделал
хотел законтрибьютить обзервабл совместимость, но не осилил и забил
кому интересно можно тут почитать https://github.com/mobxjs/mobx/issues/169

Vadim
21.10.2016
21:10:56
Всегда было интересно где люди находят время писать опенсорс? В свободное время? Вместо отдыха от компа продолжать прогать? Я отношусь к таким людям с искренним уважением, но и с искренним непониманием, и может даже завистью )

Ҫѐҏӗѫӑ
21.10.2016
21:11:05
но у мобикса синхронно все работает

Google

Ҫѐҏӗѫӑ
21.10.2016
21:11:13
это надо учитывать

Алексей
21.10.2016
21:17:06

Ҫѐҏӗѫӑ
21.10.2016
21:17:13
сон не нужен

Andrew
21.10.2016
21:47:57
Коллеги, доброй ночи!
Кто подскажет, как примерно будет выглядеть в flow описание сигнатуры функции isString(inp), которая возвращает true, когда inp - строка, и false - в остальных случаях?

Vladimir
21.10.2016
21:48:54
странный вопрос. А в чем сложность?

Andrew
21.10.2016
21:53:12
сложность, чтобы развести типы в flow, чтобы он не путался, когда ты после такой проверки спокойно складываешь переменную, и он знает - это - конкатенация и ничего другого.
поставить isString(inp: any): boolean - это тривиально

Ҫѐҏӗѫӑ
21.10.2016
21:54:35
не уверен, что эта функция вообще нужна