@react_js

Страница 2436 из 5115
Stepan
28.10.2017
21:29:09
Ваш кэп

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

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: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

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

как тут будет работать?

Google
Юра
28.10.2017
21:37:31
а зачем так делать?
В жизни всякое бывает.

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

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

а зачем так делать?
ну мне в прошлый раз так аргументировали, это не я придумал

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

Простая ясная истина

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
придётся вызывать редьюсеры в редьюсерах
Так редакс это и есть такой большой редьюсер, который вызывает редьюсеры, который вызывает редьюсеры

Юра
28.10.2017
21:41:17
не могу придумать кейсов когда надо копировать редьюсер
Например, когда надо вычислять derived данные с расшаренным состоянием.

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
Как это по селекторам разбить?
Ну как вариант вычеслить это значение в thunke и потом в редюсер просто засетить

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

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

файл на 300 строк(
А что не так?

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

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

Alex
28.10.2017
21:49:03
Для time travel?
мой подход так же работает с time travel, в чём проблема?

Google
Юра
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

Т.е., чтобы делать изолированные куски одного большого графа, которые можно легко перемещать и переиспользовать. Больше они там ни на фига не нужны.

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
И на какое сообщение? :)
Продолжение предыдущей мысли — «Ради combineReducers».

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
Я не понял, а в чем проблема-то?
Нет проблемы. Хочу послушать о граблях, посмотреть на наработки. Нужно же не просто кастомный тип, а персистентную структуру данных.

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