
Sergey
30.06.2016
11:13:28
Кстати, с точки зрения терминологии redux-saga это не saga, а workflow.
https://medium.com/@roman01la/confusion-about-saga-pattern-bbaac56e622#.3nietas2j

Andrey
30.06.2016
11:13:31
что я получу используя сагу ?
о. ещё статейка. спс

Aleh
30.06.2016
11:14:56
о, эта крутая статья

Google

Andrey
30.06.2016
11:15:05
кстати в ней ссылки которые здесь уже упоминались
не могли сразу первоисточник дать? :)

Aleh
30.06.2016
11:15:21
так это ж наоборот сборка :)
и в ней ссылки на первоисточники
@sergey_smyshlyaev спасибо, крутая ссылка)

Sergey
30.06.2016
11:18:09
что я получу используя сагу ?
Если сравнивать с redux-thunk, то в redux-saga есть отмена действий, форк, композиция и куча других продвинутых вещей. Но лично я пока не чувтсвовал в них потребности.

Andrey
30.06.2016
11:19:29
а эти действия они только в редакс-сага или они существуют как понятие ?
И если второе, то где можно прочитать про эти понятия?

Aleh
30.06.2016
11:19:43
а конкретней можно ?
очень простая схема: на какой-то экшен тебе надо сделать 5 разных дел. Причем поскольку действия меняют мир они могут по-разному падать или по-разному стартовать(несколько параллельно, какие-то последовательно). Звучит так, будто это уже все есть и без саг в js и зачем ее юзать? Да, вот я тоже не знаю и не юзаю

Алексей
30.06.2016
11:20:21

Andrey
30.06.2016
11:20:42
угу промисами можно хоть стартовать паралельно хоть последовательно , хоть отменять
Я предполагаю, что сага это некая попытка перенести в жс что-то из других языков.
Как это было когда-то с классами. Я помню те времена когда бекендеры сооружали чтото типа classGen({ constructor: function(){...}, public: {...}, private: {...} }), потомучто в их джавочке это есть, а в джаваскрипте какието прототипы непонятные :)

Aleh
30.06.2016
11:26:42
вероятно это может быть удобно на сервере(ноде), но мне кажется, что не в текущей имплементации. Всегда вероятно, что мы просто не осилили)

Vitaly
30.06.2016
11:28:49
Скорее всего это просто попытка стандартизации написания кода, имхо этого не хватает в нашей эко-системе.

Google

Aleh
30.06.2016
11:34:04
тут можно только привести картинку про 14 конкурирующих стандартов)

Andrey
30.06.2016
11:37:22
стандартизация написания кода это очень полезно.
одни тести вон чего стоят

code4aman
30.06.2016
11:37:36
можно как-то настроить свои папки чтоб при импорте писать from 'components' чем from '../../components'?

Kich
30.06.2016
11:38:05

code4aman
30.06.2016
11:38:20
находил вариант со своим node_modules в src
а спс

Aleh
30.06.2016
11:38:24
если webpack, то root

Andrey
30.06.2016
11:38:25

Vasiliy
30.06.2016
11:38:30
root, alias или modulesDirectories

Kich
30.06.2016
11:38:30
https://webpack.github.io/docs/configuration.html#resolve-alias

Aleh
30.06.2016
11:38:46
там же есть еще resolve root

Алексей
30.06.2016
11:39:24
можно через ProvidePlugin еще
new webpack.ProvidePlugin({
config,
utils
}),
У меня вот так например файл с конфигами/утилитами пробрасывается в каждый файл
тут config/utils - это путь к файлам
и если ты используешь в файле ключевое слово (config/utils) то автоматом в файл подключается модуль

Aldar
30.06.2016
11:41:35
Какой молодец Брендан Айк, хочет с помощью Webassembly убить js
"Я тебя породил, я тебя и убью!"

Roman
30.06.2016
11:42:19
хотеть не вредно
вчера выяснили что еще wasm еще нескоро дойдет до кондиции

Victor
30.06.2016
11:46:02

Google

Ivan
30.06.2016
11:48:11

Konstantin
30.06.2016
11:48:47
Сэнкс! Дык это же самый популярный сайт вроде, где предприниматели свои продукты шарят

Roman
30.06.2016
11:48:51
> и какой то плагин ...redux-async-connect
он протух уже и не поддерживается
redux-connect вместо него
https://github.com/makeomatic/redux-connect

Ivan
30.06.2016
11:49:35
Круть осталось две вещи - сделать продукт и стать предпринимателем ?
Начинаю

Roman
30.06.2016
11:51:54

Roman
30.06.2016
12:07:48
Сага не нужна, правильно я понял?

Ivan
30.06.2016
12:14:32
Вообще сага нужна ибо позволяет всякие thunkable акшены вообще убрать, убрать лишние side-effect из компонентов, и тестить всякие мутные процессы проще но лично я предпочитаю аналог https://github.com/redux-observable/redux-observable
если что дока тут https://github.com/redux-observable/redux-observable/pull/55 а не то что там в ридми

Vladimir
30.06.2016
12:20:00

Andrey
30.06.2016
12:20:51
а сага может отменять уже совершённое действие ?

localvoid
30.06.2016
12:21:38
может
всё вокруг этого и построено
всё остальное не так уж и важно

Vladimir
30.06.2016
12:32:39

Andrey
30.06.2016
12:42:00
а какое действие предполагается на .cancel и .abort ?
типа незареджектить и незарезолвить но задестроить промис

Roman
30.06.2016
12:42:41
а есть практические кейсы отмены асинхронного действия?

Google

Roman
30.06.2016
12:42:50
вынести side эффекты из компонентов несложно и с промизами

Andrey
30.06.2016
12:42:54

Владимир
30.06.2016
12:49:55

Алексей
30.06.2016
12:53:11
а есть практические кейсы отмены асинхронного действия?
ну например я ввел значение в фильтр, которое отправляет запрос на сервер и возвращает мне таблицу отфильтрованную
Ввел значение, загрузка уже началась, а я снова чет выбрал/ввел. Зачем мне видеть уже таблицу со старыми фильтрами, лучше сразу показать уже с новыми, поэтому убиваем старый запрос, и отправляем новый

Владимир
30.06.2016
12:53:42

Admin
ERROR: S client not available

Andrey
30.06.2016
12:55:11
Владимир это же не спека

Владимир
30.06.2016
12:55:17

Andrey
30.06.2016
12:56:03
там не написано что это спека, значит это не спека )

Владимир
30.06.2016
12:56:06

Алексей
30.06.2016
12:56:13

Владимир
30.06.2016
12:56:48
или тебе надо все на жс переложить и с примерами ?

Vladimir
30.06.2016
12:59:47

Алексей
30.06.2016
13:00:16

Andrey
30.06.2016
13:01:33

Denis
30.06.2016
13:07:57
как правильно прокинуть immutable js объект в пропсы? { ...object.toJS() }? , или есть более изящные подходы?

Владимир
30.06.2016
13:09:03
так и прокидывай как есть, у него дорогая операция превращения в жс и обратно

Denis
30.06.2016
13:10:07
окей, а как сделать валидацию пропсов?

Владимир
30.06.2016
13:10:34
https://www.npmjs.com/package/react-immutable-proptypes

Google

Denis
30.06.2016
13:11:19
сенкс

Grigory
30.06.2016
14:29:34
Гайз, подскажите, как лучше прокинуть в компоненту дочернюю?

Alexey
30.06.2016
14:30:07
через пропсы?

Grigory
30.06.2016
14:30:55
Ок, а прокидывать лучше инстанс класса или сам класс?

Alexey
30.06.2016
14:31:46
ты хочешь сказать родительскому компоненту какой компонент использовать для дочерних компонентов?
правильно?

Grigory
30.06.2016
14:32:08
Да

Alexey
30.06.2016
14:32:21
сам класс лучше

Grigory
30.06.2016
14:33:02
Ок, в этом случае, я так понимаю, не избежать того, чтобы родительская класс разбирал props дочернего?

Alexey
30.06.2016
14:33:16
я бы даже в defaultProps описал бы базовый

Grigory
30.06.2016
14:33:53
Да, с базовым — это хорошая идея.

Alexey
30.06.2016
14:34:29
https://github.com/JedWatson/react-select/blob/master/src/Select.js#L855

Grigory
30.06.2016
14:34:29
Меня только напрягает, что родительский класс будет сетать пропсы дочернего.

Alexey
30.06.2016
14:34:43
ну это нормально

Grigory
30.06.2016
14:34:52
Хотелось бы, чтобы в общем случае я мог прокинуть любой дочерний класс, с люым набором пропсов

Alexey
30.06.2016
14:35:10
если у тебя родительский компонент не зависит от дочернего
то ты можешь дочерний через children передавать
т.е. в jsx у тебя будет что-то похожее на вложенные теги html и в этом случае не придется сеттить в рамках родителя пропсы дочернему, а просто прокинешь полученный инстанс