@react_js

Страница 1104 из 5115
Max
21.03.2017
15:31:54
видел

Max
21.03.2017
15:31:59
не хочу, спасибо

окей

Google
Max
21.03.2017
15:32:13
чем хуев вариант с SomeService(state).doSomething()

где doSomething кинет action?

Сергей
21.03.2017
15:32:25
не хочу, спасибо
я не претендую на правильность предложил способ, которым сам пользовался

Max
21.03.2017
15:32:29
я понимаю

пытаюсь разобраться

без подъебов

сорян

Сергей
21.03.2017
15:33:03
чем хуев вариант с SomeService(state).doSomething()
разные подходы в идеале, твой сервис должен не зависеть ни от чего Типа MyService.action(data) -> resultData

Pavel
21.03.2017
15:33:06
какой флоу?
До окончания расчетов у вас встанет вся работа reducer-ов и последующих dispatch. Если вы делаете вычисления в actionCreator то вы не останавливаете redux flow

Max
21.03.2017
15:33:10
путаю термины постоянно

Max
21.03.2017
15:33:53
окей data = SomeService.calculate(...) someAction(data)

Google
Max
21.03.2017
15:33:56
так не?

Алексей
21.03.2017
15:34:15
Max
21.03.2017
15:34:17
ты прав в контексте если сервис в слое доменной логики лежит

Сергей
21.03.2017
15:34:17
окей data = SomeService.calculate(...) someAction(data)
ну как вариант это ООП-вэй с редуксом и миддлварами, без этого

Pavel
21.03.2017
15:34:25
и что, что останавливаю?
Если вы считаете этот подход разумным - то пожалуйста. Я предложил вариант, который позволяет этого избежать.

Petr
21.03.2017
15:34:33
Где писать бизнес логику. Рассмотрим пример. Пользователь подвинул ползунок "сумма кредита" или ползунок "срок" - возникают соответсвующие Actions. Надо перемножить кучу коэффициентов, применить какие-то алгоритмы и выдать на экран "это вам будет стоить X% В функции actionCreator – 5 ??????? 42% В mapStateToProps/reselect – 5 ??????? 42% В обрабочике события внутри React компонента "ползунок" (или в одном из его родителей) – 2 ??? 17% Напишу специальный middleware ▫️ 0% В reducer (чистая функция вычисляющая новые X и Y) ▫️ 0% ? 12 people voted so far.

Max
21.03.2017
15:34:47
ну как вариант это ООП-вэй с редуксом и миддлварами, без этого
ну да, но вызов чего-то через. FUCJING_CONSTANT это как-то не ок

Petr добавь плиз мой вариант

Aleh
21.03.2017
15:34:54
Если вы считаете этот подход разумным - то пожалуйста. Я предложил вариант, который позволяет этого избежать.
так а проблема в чем будет, в любом случае где-то заблокируется поток выполнения вычислениями, этого не избежать, если не выносить в webworker

а этого пока что задача не требует

Max
21.03.2017
15:35:10
data = SomeService.calculate(...); someAction(data)

Сергей
21.03.2017
15:35:13
Petr добавь плиз мой вариант
надо будет пересоздавать опрос

ну да, но вызов чего-то через. FUCJING_CONSTANT это как-то не ок
ну это уже на любителя но твой вариант мне нравится.

Aleh
21.03.2017
15:35:26
Evgeny
21.03.2017
15:35:26
А зачем ООПшить

Грубо говоря

Это какой-то ангуларвэй у Макса

Max
21.03.2017
15:35:51
Ну это ООП, да

Pavel
21.03.2017
15:35:52
так а проблема в чем будет, в любом случае где-то заблокируется поток выполнения вычислениями, этого не избежать, если не выносить в webworker
Тики будут выделяться равномерно между actionCreator и другими действиями. Так вы остановите все обновления интерфейса связанного с redux.

Max
21.03.2017
15:35:57
точнее ДДД

Google
Aleh
21.03.2017
15:35:58
да какое это ооп?)

Max
21.03.2017
15:36:01
вынос бизнес-логики в сервисы

Evgeny
21.03.2017
15:36:09
Да не суть

Смысл?

Max
21.03.2017
15:36:30
Смысл?
в том что у тебя бизнес-логика хранится в отдельном слое, которы легко тестировать и использовать

Aleh
21.03.2017
15:36:38
и не ддд это тем более

Max
21.03.2017
15:36:43
Aleh
21.03.2017
15:36:46
ну да

Max
21.03.2017
15:36:50
пруф?

Aleh
21.03.2017
15:36:59
пруф на что? Где у вас границы аггрегата?

Сергей
21.03.2017
15:37:02
и не ддд это тем более
как раз таки ДДД (по крайней мере близко)

Max
21.03.2017
15:37:34
в ДДД можно без аггрегатов например

Aleh
21.03.2017
15:37:40
лол

Max
21.03.2017
15:37:54
убегаю, вечером продолжим )

Aleh
21.03.2017
15:38:00
окей, жизненный цикл вашей сущности есть или она умирает сразу после выполнения операции?)

Max
21.03.2017
15:38:03
хоть с кем-то за ддд попиздеть можно

Evgeny
21.03.2017
15:38:05
Так я не понял, чем плоха схема — процессинг данных в экшене и диспатч готовых данных — редьюсер принимает данные и кладёт в стор

Aleh
21.03.2017
15:39:38
да нет плохих схем, но есть ситуации, где какие-то схемы не работают

Google
Evgeny
21.03.2017
15:39:46
Процессинг можно в хелпер вынести

transformInputValues()/transformOutputValues()

Получает данные, возвращает данные

Сергей
21.03.2017
15:40:47
Самая большая проблема этих сервисов, это определение принадлежности Если А взаимодействует с Б, куда класть функцию? вот это бесит, поэтому лучше нах эти сервисы

Evgeny
21.03.2017
15:40:47
Чистые функции, епта

Модель хранить как flow definition

Воткнуть babel-typecheck, чтобы в деве в рантайме падало

Pavel
21.03.2017
15:41:42
Ну и простой документ на который давно ссылаются, как acemarke, так и другие люди на рубеже redux: https://github.com/reactjs/redux/issues/1171

Evgeny
21.03.2017
15:41:44
Что ещё нужно?

Admin
ERROR: S client not available

Ҫѐҏӗѫӑ
21.03.2017
15:42:30
о декораторах интересная беседа завелась в бабель слаке

чуваки из в8 хотели попробовать заимплементить

оказалось, что в спеке есть не все необходимое

Сергей
21.03.2017
15:43:38
оказалось, что в спеке есть не все необходимое
а где почитать можно, чего не хватает?

Ҫѐҏӗѫӑ
21.03.2017
15:43:51
https://babeljs.slack.com/archives/C062RC35M/p1490110695759930

Mike
21.03.2017
15:50:55
чуваки, а вот такой вопрос. У меня есть страница, на втором экране две половины. Клик в каждую переводит на свой роут, с анимацией. А именно половина раздвигается вбок, вниз, и превращается в страницу. Вопрос, как беспалева для пользователя первый экран выпилить из дома? то есть чтобы скролла не случилось при выкидывании его внаглую? отдельный вопрос в том, не перерисует ли мне роутер компонент, если там написано что по урлу / он отрисовывает Main, а по урлу /personal (левая половина например) он отрисовывает Personal

Google
Petr
21.03.2017
15:51:21
До окончания расчетов у вас встанет вся работа reducer-ов и последующих dispatch. Если вы делаете вычисления в actionCreator то вы не останавливаете redux flow
Не важно куда рассчёты положить: в actionCreator или в reducer или ещё куда - всё "встанет" одинаково, JavaScript однопоточный. Если расчёты занимают 1сек, например, то интерфейс "замёрзнет" на 1сек и в случае с actionCreator и в случае с reducer. Выбор того или иного места для запуска бизнес-логики не может быть аргументирован производительностью - она везде будет одинаковая, JavaScript везде одинаковый (пока не рассматриваем web workers)

Aleh
21.03.2017
15:53:05
Ну и простой документ на который давно ссылаются, как acemarke, так и другие люди на рубеже redux: https://github.com/reactjs/redux/issues/1171
Там основной поинт в консистентности и доступе к данным. В исходной задаче проблесы нет сложить ысе в одном ркдьюсере. При изменении условий никто не мешает переносить, если это будет нужно

Aleh
21.03.2017
15:55:04
А можно просто в воркер вынести

Evgeny
21.03.2017
15:55:04
Давай подробнее

Aleh
21.03.2017
15:55:18
А то timeout ставить это как-то странно

Дмитрий
21.03.2017
15:55:36
А можно просто в воркер вынести
Ну это уже следующий шаг)

Aleh
21.03.2017
15:55:52
Ну это уже следующий шаг)
Да нет же, зачем заниматься разбиением по тикам?)

Petr
21.03.2017
15:56:18
вообще разбить по тикам можно, но кто-то так реально делает?

это ж какой-то ручной геморой

Дмитрий
21.03.2017
15:56:40
Да нет же, зачем заниматься разбиением по тикам?)
Ну если вычисления реально серьезные, то разница будет очень сильная

Alex
21.03.2017
15:57:03
Ну это уже следующий шаг)
А анимацию вычислений поставить это какой шаг?

Aleh
21.03.2017
15:57:03
?

Дмитрий
21.03.2017
15:57:16
это ж какой-то ручной геморой
Кажется, ты себе представляешь последовательные вызовы функций как-то очень сложно)

Petr
21.03.2017
15:57:36
пока первые расчёты будут идти, пользователь ещё подвинет ползунок и что тогда? запускаем второй "процесс" рассчётов разбитый по тикам, а превый надо теперь как-то остановить... это целый свой планировщик!

Дмитрий
21.03.2017
15:57:56
А анимацию вычислений поставить это какой шаг?
Я имею ввиду следующий шаг если прям совсем уже тяжело считается

Evgeny
21.03.2017
15:58:01
Давайте про воркеры подробнее

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