
? ethorz
18.10.2016
12:15:56

Vasiliy
18.10.2016
12:17:21

? ethorz
18.10.2016
12:17:52
не находит пространство имён
на BabelBundle

Google

? ethorz
18.10.2016
12:18:41
делал всё по оф документации

Vasiliy
18.10.2016
12:19:42
а можно в гист ошибку?

? ethorz
18.10.2016
12:19:57
да я уже давно это отменил
щас другие варики пробую


Andrew
18.10.2016
12:26:42
Коллеги, привет!
Я хотел бы исправить собственную тактическую ошибку, которую сделал, написав в наш канал в ночь с пятницы на субботу про модуль, который родился благодаря вашим ответам на мои вопросы прошлой недели. https://gist.github.com/AndrewRevinsky/45ec2927d3da4d8e2b8063799c8f3f82
Тогда, в ответ на это мне посоветовали посмотреть в сторону собственного middleware, об использовании которого я незаслуженно забыл.
Мне нужно было (на тот момент) создать такой асинхронный action, который бы зависел от вызова определенных других. Ну то есть, почти как redux-saga, только чтобы actions, которые приводят наступлению события, можно было разным образом компоновать (ожидать, что они выполнятся один за одним по списку, либо несколько одинаковых, либо любой из списка, либо каждый в списке без заданной очередности). Так и родилась идея redux-actions-sequence, модуля описания последовательности наступления ряда actions, необходимых для вызова желаемого action. https://www.npmjs.com/package/redux-actions-sequences
Я за эти несколько дней её оформил в приличный npm модуль, причесал, сопроводил более-менее читаемым readme. И скромно предложил бы вам попробовать его поиспользовать и дать свои отзывы (как в телегу, так и в Github). Может, понравится.
Спасибо за внимание. Извините, если отвлёк.


? ethorz
18.10.2016
12:29:12
шикардос
поддержки jsx нет
только tsx

Evgeny
18.10.2016
12:31:27
import { createAction } from 'redux-actions';
Вот не рекомендую так делать
Если ты делаешь библиотеку, лучше чтобы она не зависела от других
Покажи пример на чистом, ванильном редаксе

Google

Evgeny
18.10.2016
12:32:23
S.ALL
И почему всё КАПСОМ

Andrew
18.10.2016
12:32:51

Evgeny
18.10.2016
12:33:00
Ну я про это же

Andrew
18.10.2016
12:33:04

Evgeny
18.10.2016
12:33:06
Не оч понятные имена

Andrew
18.10.2016
12:33:10
а

Evgeny
18.10.2016
12:33:14
S.QUEUE
S.TIMES
S.ANY
Вообще, если делаешь библиотеку публичную, то https://www.youtube.com/watch?v=4anAwXYqLG8

Andrew
18.10.2016
12:33:40
Понял, спасибо. ПО моей затее они как токены выступают
а их принято капсом писать
Спасибо за видео. Посмотрю.

Vasiliy
18.10.2016
12:34:28

Aleh
18.10.2016
12:35:25
скиньте слайд из презентации @chicoxyzzy на эту тему

Andrew
18.10.2016
12:35:37
Насчет createActions - так быстрее. Не хотел, чтобы readme был длинный (1), и во-вторых, actionCreator'ы, следанные так, отдают строку - свой тип - по toString(), что удобно

Evgeny
18.10.2016
12:36:18
Мне непонятно
Я не использую redux-actions
Я посмотрю на твою библиотеку и пойду дальше, потому что, судя по ридми, она не вписывается в мой стек
Мне нужно переделывать свои экшены на этот ридакс-экшенс

Дмитрий
18.10.2016
12:37:06

Google

Andrew
18.10.2016
12:37:24
понял. Вообще, простые FSA также работают - я подправлю свое readme

Evgeny
18.10.2016
12:37:36
Просто напиши как можно проще и понятнее
Люди в свой стек уже воткнут по-разному

? ethorz
18.10.2016
12:37:49
если бекенд допустим на дотнете
получается что просто логичнее юзать апи
серверное
и делать все в html
?

Andrew
18.10.2016
12:38:22
эх, я бы написал попроще, если был бы другим человеком или забыл бы про этот модуль ))

Vasiliy
18.10.2016
12:38:31
http://image.slidesharecdn.com/whatswrongwithweb-160706130452/95/whats-wrong-with-web-18-638.jpg?cb=1467810398

Evgeny
18.10.2016
12:38:37
Мб переименовать dispatchActionWhen → dispatchAfter?
Могу не давать)

Andrew
18.10.2016
12:39:02
А я как раз благодарен! Спасибо!
Я просто сетую вслух )

Evgeny
18.10.2016
12:39:18
а, ок

Andrew
18.10.2016
12:39:21
Давай-давай!

Evgeny
18.10.2016
12:39:49
Да вроде всё ок
Разве что я предложил сделать как в sequence модуле
Смотри

Google

Evgeny
18.10.2016
12:40:13
Аргументы = последовательность
sequence(one, two, three)
Супер удобно
Мб тебе тоже сделать как-нибудь так?
import { sequence } from ‘redux-actions-sequences’
dispatch(sequence(one, two, three))
Оч простой апи получается

Eugeniy
18.10.2016
12:41:00
+

Andrew
18.10.2016
12:42:50
S.QUEUE
S.TIMES
S.ANY
Насчет капса. Не покатит, да? Я капс не люблю, если не к месту. Но вот тут, думаю, ему как раз место (это как токены в AST).
Не согласен?

Evgeny
18.10.2016
12:43:08

Andrew
18.10.2016
12:43:28
Идея хорошая

Evgeny
18.10.2016
12:43:45
Я бы кстати сам использовал такой модуль
С таким простым апи

Andrew
18.10.2016
12:43:59
А как назначить тип такого события?
ну то есть, как сказать, какой у него будет тип?
чтобы потом в redux скармливать?

Evgeny
18.10.2016
12:44:38
В middleware т.е.?
Ты можешь middleware построить так, что проверять, сколько объектов передано в аргументах

Roman
18.10.2016
12:45:21
я бы еще пакет переименовал в ...-sequence
а вообще вот например
https://github.com/teambition/gulp-sequence

Evgeny
18.10.2016
12:45:24
Да

Google

Evgeny
18.10.2016
12:45:27
redux-sequence
Огонь
Тоже хотел предложить

Andrew
18.10.2016
12:46:15
import { sequence } from ‘redux-actions-sequences’
dispatch(sequence(one, two, three))
И мне вдруг показалось, что ты хочешь, чтобы через такой API последовательно вызывались события one, two, three,..
в то время как я, наоборот, слушаю, что они наступят, и испускаю новое

Evgeny
18.10.2016
12:46:44
А в чем разница? Мне нужно выполнить three после one, two, у тебя ровно такая же задача. Нет?

Andrew
18.10.2016
12:46:58
и наступить они могут одно за другим, либо одно из, и тп

Evgeny
18.10.2016
12:47:23
Я бы раздробил на разные пакеты, minimal api surface area и всё такое
Ну или разные функции
ит депендс от реализации

Andrew
18.10.2016
12:48:59
А в чем разница? Мне нужно выполнить three после one, two, у тебя ровно такая же задача. Нет?
Нет, сорри.
Мне нужно удостовериться, что пальнуло одно - "one", другое "two" в той или иной суперпозиции (ANY, ALL, TIMES, QUEUE) - и тогда сгенерировать то, что нужно. Например, oneTwoThree.

Evgeny
18.10.2016
12:50:40
Ок, тогда сделаю свою библиотеку

Andrew
18.10.2016
12:51:02
Ну то есть, пример. Пользователь открыл форму (одно событие), нажал на кнопку submit (другое событие), словил подтвержденную валидацию (третье) - "о, тогда самое время сделать запрос туда-то"
только называется mulit или как-то так
multi

Evgeny
18.10.2016
12:51:54

Andrew
18.10.2016
12:52:17
:)
Поздравляю! ))

Evgeny
18.10.2016
12:52:36
multi
https://github.com/ashaffer/redux-multi ? Ну норм