
Sergey
12.07.2017
09:14:22
понял. спс

Сергей
12.07.2017
09:14:32

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

Google

Max
12.07.2017
09:14:51
все

Maksim
12.07.2017
09:14:53

Сергей
12.07.2017
09:15:12

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

Aleh
12.07.2017
09:17:38

Сергей
12.07.2017
09:17:50

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

Aleh
12.07.2017
09:18:00
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
да нормальный вывод)
писать просто нужно норм

Aleh
12.07.2017
09:24:15

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

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

Сергей
12.07.2017
09:28:18

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

andretshurotshka?❄️кде
12.07.2017
09:31:09

Сергей
12.07.2017
09:31:18

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
еее тайпскрипт чат

Сергей
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;

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

Aleh
12.07.2017
09:46:22