
Stepan
28.10.2017
21:29:09
Ваш кэп

Razzwan
28.10.2017
21:29:24
Есть примеры организмов и молекул?

Юра
28.10.2017
21:29:25

Stepan
28.10.2017
21:29:35
Молекула, как правило, выполняет одну функцию

Google

Artyom
28.10.2017
21:29:41
Как-то не очень идея. В классике ты видешь 1 точку входа и все подписки, а тут не понятно кто и когда изменил стейт, надо ctrl+f

Stepan
28.10.2017
21:30:03
У организма уже есть ощутимая логика и структура

Юра
28.10.2017
21:31:01

Stepan
28.10.2017
21:31:35

Юра
28.10.2017
21:31:46
Так-то. Если задуматься, а нафига вообще в редуксе редюсеры?

Stepan
28.10.2017
21:31:51
Для общего случая, конечно, классика мастхев

Юра
28.10.2017
21:32:22
Или экшоны.

Stepan
28.10.2017
21:32:22

Nikita
28.10.2017
21:32:27

Stepan
28.10.2017
21:32:33

Artyom
28.10.2017
21:33:29
Не понял. Можешь поподробней кейс расписать?
Ну вот у тебя каунтер меняется какой-то. И ты же не можешь понять откуда. У тебя по всему приложению могут быть раскиданы экшены, которые делают апдейт каунтера, тебе их надо выискивать. А в классике, ты заходишь на редусер, ответственный за каунтер, и смотришь экшены, на которые он подписан

Alex
28.10.2017
21:33:34
ой снова эта херня началась
не только я не вижу смысла

Google

Alex
28.10.2017
21:33:56
всё что вы называете про документирование и понятное изменение стейта херня полная
про подписки и прочее

Stepan
28.10.2017
21:34:05
Аргумент хороший

Artyom
28.10.2017
21:34:26
Я кароч кодить пошел, Все

Alex
28.10.2017
21:34:32
всё это так же работает с экшенами которые содержат функцию state-modifer тот же самой reducer
только он не через свитч хуй знает где, а сразу в экшене

Stepan
28.10.2017
21:34:44
Ну понятно, что оно всё работает
Но прозрачно ли?
(нет)

Alex
28.10.2017
21:35:12
добавлешь поле type и можешь подписываться на экшены, хочется засейвить мету? добавил аргументы экшона в мету и всё
никаких отличий, разве что не нужен switch blablabla

Юра
28.10.2017
21:35:37

Alex
28.10.2017
21:35:44
что может быть прозрачнее обычной функции?
нихера не валидный

Юра
28.10.2017
21:36:51

Alex
28.10.2017
21:36:52
я могу привести пример который приводили мне, есть экшен есть 100500 редьюсеров которые подписаны на экшен
как тут будет работать?

Google

Artyom
28.10.2017
21:37:28

Юра
28.10.2017
21:37:31

kana
28.10.2017
21:37:49
Вот две причины:
Во первых, смешивая экшоны с редьюсером ты увеличиваешь связность кода
Если два экшона делают одно и тоже, то придется дублировать
Скорее всего так удобнее, но тенденция такова, что удобные вещи почему-то неправильные

Alex
28.10.2017
21:37:59
в любом случае, добавить изоляцию и хранить экшены отвечающие за одну область в одном файле или папке

Юра
28.10.2017
21:38:51

Artyom
28.10.2017
21:38:54
Кароч на каждую задачу - свой инструмент
Простая ясная истина

Alex
28.10.2017
21:39:14

Dmitry
28.10.2017
21:39:25

Artyom
28.10.2017
21:39:39
На минуточку... Любой код можно вынести в функцию. И в редюсере просто применять эту функцию

Юра
28.10.2017
21:39:41

Alex
28.10.2017
21:39:48

Dmitry
28.10.2017
21:40:20

Artyom
28.10.2017
21:40:25
Че вам не спится в первом часу...

kana
28.10.2017
21:40:44

Artyom
28.10.2017
21:40:58

Юра
28.10.2017
21:41:17

Dmitry
28.10.2017
21:41:27
доступ ко всему состоянию

Google

Юра
28.10.2017
21:41:39

Dmitry
28.10.2017
21:41:44
multireducer

Юра
28.10.2017
21:41:47
И дописал про расшаренное состояние -)

Alex
28.10.2017
21:41:51
ну а я о том, что конкретно в своём проекте это излишне, очевидный плюс редакса как некой надстройки, что можно подключить полезные вещи, поэтому есть некий стандарт, для совместимости, но в конкретном приложении это излишне

Dmitry
28.10.2017
21:41:55
reduce-reducers

Юра
28.10.2017
21:42:15
Вот код: https://github.com/YChebotaev/for-cbr/blob/master/src/reducer/index.js
См. 91 строку, markIslands
Вычисляются и groups и islands.
Как это по селекторам разбить?

Artyom
28.10.2017
21:44:18
файл на 300 строк(

Dmitry
28.10.2017
21:45:39

Alex
28.10.2017
21:45:41
зачем делать прослойку между экшенами и структурой стейта, если они по сути взаимосвязаны, экшен и есть прямой вход в стейт, зачем ещё редьюсеры, когда js в браузере стал настолько производительным?

Юра
28.10.2017
21:47:17
Пришлось бы дублировать кучу экшонов.

Nikita
28.10.2017
21:48:23

andretshurotshka?❄️кде
28.10.2017
21:48:32

Dmitry
28.10.2017
21:48:36
ну т.е у тебя на эти вычесления подписываются те редюсеры которе надо

Alex
28.10.2017
21:48:55
#
Редьюсеры это недо- конечный автомат. Кто за, кто против?

Alex
28.10.2017
21:49:03

Google

Dmitry
28.10.2017
21:49:34

Юра
28.10.2017
21:49:35

andretshurotshka?❄️кде
28.10.2017
21:49:41

Dmitry
28.10.2017
21:49:48
css это конечный автомат

Юра
28.10.2017
21:51:01
Господин ведущий, у нас досрочный ответ на вопрос «нафига в редаксе редьюсеры».

Alex
28.10.2017
21:51:29
#
Кто-нибудь засовывал свои типы в редакс стор?

Юра
28.10.2017
21:51:32
Ради combineReducers
Т.е., чтобы делать изолированные куски одного большого графа, которые можно легко перемещать и переиспользовать.
Больше они там ни на фига не нужны.

Alex
28.10.2017
21:54:09

Dmitry
28.10.2017
21:54:10
отделить логику парсинга данных, от другйо логики

Юра
28.10.2017
21:54:37

Alex
28.10.2017
21:54:38
И на какое сообщение? :)
Про конечный автомат или кастомные типы?

Юра
28.10.2017
21:55:09

kana
28.10.2017
21:55:24

Юра
28.10.2017
21:55:29

Alex
28.10.2017
21:55:59

kana
28.10.2017
21:56:09
В жс любые твои кастомнын структуры - объекты, редакс спокойно будет их прожовывать

Dmitry
28.10.2017
21:56:56
ну для вью стейта, редюьсеры не нужны

Alex
28.10.2017
21:57:01
Я не понял, а в чем проблема-то?
Нет проблемы. Хочу послушать о граблях, посмотреть на наработки. Нужно же не просто кастомный тип, а персистентную структуру данных.