@react_js

Страница 1675 из 5115
Sergey
12.07.2017
09:14:22
понял. спс

Max
12.07.2017
09:14:44
короче простая аналогия

редюсер — MySQL

Google
Max
12.07.2017
09:14:51
все

Maksim
12.07.2017
09:14:53
танк это бак
tank это бак, не thunk

Сергей
12.07.2017
09:15:12
tank это бак, не thunk
Ну так об этом и речь thunk это санк

Maksim
12.07.2017
09:15:49
ну в русском нет этого звука, я называю тоже танком его

Сергей
12.07.2017
09:15:59
в русском есть с

thанк

Max
12.07.2017
09:16:09
это ближе к с чем к т

Maksim
12.07.2017
09:16:11
в русском есть и т

Сергей
12.07.2017
09:16:16
станк

Sergey
12.07.2017
09:16:19
тфэнк

Alexey
12.07.2017
09:16:23
await на yield put(myAction) меняешь и вначале подписываешь сагу на экшн enqueueDocumentsSign

Сергей
12.07.2017
09:16:30
тфэнк
не здесь а

Google
Maksim
12.07.2017
09:16:43
thunder тоже к с ближе? по мне так ближе к тандер

Сергей
12.07.2017
09:16:56
Alexey
12.07.2017
09:17:05
Maksim
12.07.2017
09:17:17
зато читается как сандер
вообще это читается и ни как сандер и ни как тандер

Сергей
12.07.2017
09:17:21
тот же try { .. } catch
а теперь напиши это в тс с типизацией и обломайся

Сергей
12.07.2017
09:17:50
почему?
как типизировать сагу-то?))

Alexey
12.07.2017
09:17:56
мне тоже интересно почему?

Aleh
12.07.2017
09:18:00
как типизировать сагу-то?))
также как и твой thunk

s/await/yield

типы трогать не надо

Alexey
12.07.2017
09:18:28
на тс не скажу, но на flow как генератор ты ее можешь описать

Сергей
12.07.2017
09:18:35
типы трогать не надо
бля мне put вернет тот же тип что и функция? и примет те типы которые принимает функция или как?

Alexey
12.07.2017
09:20:25
для пута скорее дженерик должен быть

Сергей
12.07.2017
09:20:36
для пута скорее дженерик должен быть
ну вот и какой в итоге смысл иметь здесь сагу?

сага может мне кинуть апишечки инициализированные?

вот кейс в котором пихать сагу смысла не больше нуля

и таких кейсов в типичном веб-приложении 90%

Alexey
12.07.2017
09:22:04
при инициализации рутовой саги ты можешь апишечки включить, а потом уже общий интерфейс для приложения включить в случае успеха

Google
Сергей
12.07.2017
09:22:18
и да, ты заметил, что у меня всего два тайп дефинишена?

все остальное и так ок работает

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

мб в 2.4 лучше стало, но в сагах здесь смысла просто нет

Alexey
12.07.2017
09:23:37
в тс сам по себе вывод типов неоч

что для промисов, что для чего-то еще

Сергей
12.07.2017
09:23:56
да нормальный вывод)

писать просто нужно норм

Sergey
12.07.2017
09:24:28
это action ф-ция?

Aleh
12.07.2017
09:24:37
ну либо я сходу не нашел как

Alexey
12.07.2017
09:24:39
Сергей
12.07.2017
09:24:39
это action ф-ция?
ну типа да

Sergey
12.07.2017
09:25:08
и мне мое апи тоже в action делать?

Сергей
12.07.2017
09:25:24
надо всё в экшенах делать

Sergey
12.07.2017
09:25:46
ок, понял, спс!

Сергей
12.07.2017
09:26:18
в методах/хуках компонента ты можешь делать только диспатчи экшенов с параметрами

Alexey
12.07.2017
09:28:07
да нормальный вывод)
У Ильи Климова хороший доклад на Holyjs был на эту тему

Google
Alexey
12.07.2017
09:28:32
пару месяцев назад

Сергей
12.07.2017
09:28:52
вроде ts2.4 вышел позже так что не актуально

Alexey
12.07.2017
09:28:54
понятное дело, что если писать норм, проблем тут нет

мб, не слежу

Сергей
12.07.2017
09:29:30
в ts2.4 уже выводит типы намного глубже

Alexey
12.07.2017
09:30:39
ReducerMap — встроенное что-то?

Admin
ERROR: S client not available

Max
12.07.2017
09:31:07
вроде ts2.4 вышел позже так что не актуально
потому что все к хуям сломано? badum.ts

andretshurotshka?❄️кде
12.07.2017
09:31:09
andretshurotshka?❄️кде
12.07.2017
09:31:27
Сергей
12.07.2017
09:31:35
andretshurotshka?❄️кде
12.07.2017
09:31:38
это да
это из-за ковариантых коллбэков инфа сотка

Сергей
12.07.2017
09:32:02
надо пофиксить createReducer (пока хз как) и будет весьма ок

Aleh
12.07.2017
09:33:41
Сергей
12.07.2017
09:34:01
ага. ща в офис зайду

только я не уверен что в плейграунде 2.4

вообще есть такой вариант

Google
Сергей
12.07.2017
09:35:42
http://www.typescriptlang.org/play/index.html#src=interface%20Action%3CT%2C%20P%3E%20%7B%0D%0A%20%20type%3A%20string%0D%0A%20%20payload%3A%20P%0D%0A%7D%0D%0A%0D%0Atype%20Reducer%3CS%2C%20T%2C%20A%3E%20%3D%20(state%3A%20S%2C%20action%3A%20Action%3CT%2C%20A%3E)%20%3D%3E%20S%0D%0A%0D%0Afunction%20createReducer%3CS%2C%20T%20extends%20%7B%20%5Bkey%3A%20string%5D%3A%20any%20%7D%3E(initial%3A%20S%2C%20reducers%3A%20%7B%20%5BP%20in%20keyof%20T%5D%3A%20Reducer%3CS%2C%20P%2C%20T%5BP%5D%3E%20%7D)%3A%20(state%3A%20S%2C%20action%3A%20Action%3Ckeyof%20T%2C%20T%5Bkeyof%20T%5D%3E)%20%3D%3E%20S%20%7B%0D%0A%20%20return%20(state%2C%20action)%20%3D%3E%20%7B%0D%0A%20%20%20%20const%20handler%20%3D%20reducers%5Baction.type%5D%0D%0A%0D%0A%20%20%20%20return%20handler%20%3F%20handler(state%2C%20action)%20%3A%20state%0D%0A%20%20%7D%0D%0A%7D%0D%0A%0D%0Ainterface%20ActionTypes%20%7B%0D%0A%20%20foo%3A%20string%2C%0D%0A%20%20bar%3A%20number%2C%0D%0A%7D%0D%0A%0D%0Aconst%20initialState%20%3D%20%7B%7D%0D%0A%0D%0AcreateReducer%3Ctypeof%20initialState%2C%20ActionTypes%3E(initialState%2C%20%7B%0D%0A%20%20foo(state%2C%20action)%20%7B%0D%0A%20%20%20%20%2F%2F%20action%20should%20be%20string%0D%0A%20%20%20%20const%20d%20%3D%20action.payload%0D%0A%20%20%20%20return%20state%0D%0A%20%20%7D%2C%0D%0A%20%20bar(state%2C%20action)%20%7B%0D%0A%20%20%20%20%2F%2F%20action%20should%20be%20number%0D%0A%20%20%20%20return%20state%0D%0A%20%20%7D%0D%0A%7D)

но он работает только для статических полей

но нельзя в редюсере { [actions.NAME]: (state, action) => state, }

он не осилит

andretshurotshka?❄️кде
12.07.2017
09:37:04
еее тайпскрипт чат

но нельзя в редюсере { [actions.NAME]: (state, action) => state, }
Это потому что computed properties не типизируются

Сергей
12.07.2017
09:41:41
во

https://goo.gl/SSCixW

https://goo.gl/SSCixW
а забыл Reducer interface ReduxAction { type: any; } type Reducer<S> = <A extends ReduxAction>(state: S, action: A) => S;

Это потому что computed properties не типизируются
Ну видимо придется все равно экшены приводить руками к нужному типу

Aleh
12.07.2017
09:44:51
у тебя Action требует несколько параметров

один*

Сергей
12.07.2017
09:45:14
Aleh
12.07.2017
09:45:31
он определен вместе с твоим Action или с другим?

Сергей
12.07.2017
09:45:50
он определен вместе с твоим Action или с другим?
короче это из redux.d.ts я пофиксил чтобы коллизий не было

Aleh
12.07.2017
09:46:22
короче это из redux.d.ts я пофиксил чтобы коллизий не было
да просто там свой Action ж скорее всего

Страница 1675 из 5115