
Сергей
25.10.2018
02:10:52
логика != обновление данных
логика это ебаная реакция на события, проверки, триггер других событий, запросы на сервер, и ВОЗМОЖНО обновление стора

Kelin
25.10.2018
02:11:38
То есть логика, это ивент или эффект

Google

Сергей
25.10.2018
02:11:43
нет

Andrey
25.10.2018
02:11:43

Kelin
25.10.2018
02:11:50

Сергей
25.10.2018
02:11:50
Да
ивент это просто объект, ну

Artyom
25.10.2018
02:11:58
Я думаю мысль все же в том, что бы логика была отвезана от модели(!). Тогда работу с обновлением модели можно было бы полностью автоматизировать.
Но я чет не представляю как это возможно

Сергей
25.10.2018
02:12:03
ивент сам по себе это нихуя не логика

Kelin
25.10.2018
02:12:06
Ивент - нажалась кнопка
Эффект - отправляются данные на сервак

Сергей
25.10.2018
02:12:11
это не
не логика
НАЖАЛАСЬ КНОПКА!
какой бизнес кейс?

Google

Сергей
25.10.2018
02:12:24
НИКАКОГО!

Kelin
25.10.2018
02:12:28
Логика - при нажатии кнопки инкрементить счетчик

Сергей
25.10.2018
02:12:34
нет

Kelin
25.10.2018
02:12:40
Вот только скажи блять, что это не логика

Сергей
25.10.2018
02:12:41
ЛОГИКА это бизнес-кейс

Kelin
25.10.2018
02:12:42
я умываю руки

Сергей
25.10.2018
02:12:55
бля

Artyom
25.10.2018
02:13:01

Сергей
25.10.2018
02:13:04

Andrey
25.10.2018
02:13:04
@artalar Как думаешь, добавлять миддлвары в реакт - норм затея?)

Сергей
25.10.2018
02:13:21
у вас с человеческой логикой проблемы, ребята
называете всё что угодно логикой, кроме логики
разницу чувствуешь?

Andrey
25.10.2018
02:14:50
разницу чувствуешь?
То, что стор позволяет удобно писать логику, которая связана с изменнием стора - это нормально?

Сергей
25.10.2018
02:14:57

Andrey
25.10.2018
02:15:09
да
Это является привязкой стора к логике?

Сергей
25.10.2018
02:15:19

Andrey
25.10.2018
02:15:32

Google

Artyom
25.10.2018
02:15:41
ЛОГИКА это бизнес-кейс
В общем ты логику хочешь разделить на условные примитивы и на управление этими примитивами. И последнее называешь логикой.
?

Сергей
25.10.2018
02:15:55
Да.
только если стор начинает знать о конкретных кейсах и включает в себя кучу условий

Kelin
25.10.2018
02:15:55
const counter = createStore(0)
.on(inc, i => i + 1)
counter.watch(i => {
if (i > 5) {
showBalloon()
}
})
const inc = createEvent('Inc')

Сергей
25.10.2018
02:16:00
этот код вообще не отражает кейса

Artyom
25.10.2018
02:16:14

Andrey
25.10.2018
02:16:22

Сергей
25.10.2018
02:16:34
и стор вообще не должен знать о том, в каких случаях его будут юзать

Artyom
25.10.2018
02:16:58

Kelin
25.10.2018
02:17:01
А теперь делаем так
store.js
const counter = createStore(0)
logic.js
const inc = createEvent('Inc')
counter.on(inc, i => i + 1)
counter.watch(i => {
if (i > 5) {
showBalloon()
}
})

Andrey
25.10.2018
02:17:03

Сергей
25.10.2018
02:17:09

Kelin
25.10.2018
02:17:46
А теперь делаем так
```
const createLogic = store => {
const inc = createEvent('Inc')
store.on(inc, i => i + 1)
store.watch(i => {
if (i > 5) {
showBalloon()
}
})
```

Andrey
25.10.2018
02:17:53

Сергей
25.10.2018
02:17:53

Kelin
25.10.2018
02:17:54
ох пизда подсветке

Сергей
25.10.2018
02:18:11
поменяли стор -> поменяли логику

Google

Сергей
25.10.2018
02:18:23
всё пизда

Andrey
25.10.2018
02:18:41
Что-то типа такого?
function() {
incrementI()
if (getI() > 5) {
alert();
}
}

Сергей
25.10.2018
02:18:48

Kelin
25.10.2018
02:18:54
Ну блять сделай 3 ивента

Andrey
25.10.2018
02:18:56
Ок, спасибо за ответы.

Artyom
25.10.2018
02:19:14

Сергей
25.10.2018
02:19:28

Kelin
25.10.2018
02:19:34
const click = createEvent('Click')
const inc = ...
const alert ....
click.watch(() => {
inc()
if (getI() === 5) { ... }
})

Сергей
25.10.2018
02:20:02

Kelin
25.10.2018
02:20:27
Только это противоречит концепции эффектора. Потому что ты изобретаешь setState, только ограничиваешь его конкретными мутациями (привет vuex)

Admin
ERROR: S client not available

Сергей
25.10.2018
02:20:39
ну вот поэтому и не тащу эффектор
меня задолбала прямая связка логики и стора

Andrey
25.10.2018
02:21:03
С точки зрения этого человека.

Сергей
25.10.2018
02:21:28

Kelin
25.10.2018
02:21:37
В концепции эффектора ивент - это как раз "нажалась кнопка". Если тебе надо поменять логику, ты открываешь подписки и меняешь
Это меняется в одном месте
В компонентах ничего не меняется
В сторах ничего не меняется
В ивентах ничего не меняется

Сергей
25.10.2018
02:22:10
охуенно

Google

Andrey
25.10.2018
02:23:03

Kelin
25.10.2018
02:23:09

Сергей
25.10.2018
02:23:21

Kelin
25.10.2018
02:23:23

Andrey
25.10.2018
02:23:23
Где ты новый формат преобразуешь в старый.

Сергей
25.10.2018
02:23:28

Kelin
25.10.2018
02:23:32
ПРУФ

Andrey
25.10.2018
02:23:32
Иначе эта задача не решается.

Kelin
25.10.2018
02:23:34
ИЛИ ПИЗДАБОЛ

Сергей
25.10.2018
02:23:50
база данных может меняться как захочешь, API останется стабильным

Andrey
25.10.2018
02:24:24
Ты хочешь стор, в котором тебя обязуют делать прослойку доступа к данным?

Сергей
25.10.2018
02:24:39

Kelin
25.10.2018
02:25:10
Просто сказочный пиздабол. Логика работает с воздухом, компоненты берут данные из воздуха.
А мутации для стора это не бойлерплейт нихуя ни капли, то-то у меня жопа с Vuex <sarcasm>вообще не горела</sarcasm>
setPosts (state, posts) { state.posts = posts }

Andrey
25.10.2018
02:25:48

Сергей
25.10.2018
02:25:54
не хочешь читать то, что я пишу, отъебись

Andrey
25.10.2018
02:26:10

Kelin
25.10.2018
02:26:45
Ну так ты покажи мне пример на коде, как это должно выглядеть. Я полтора часа проебал на абстрактные слова вида "логика не работает со стором", а деталей идеи так и не было рассказано

Andrey
25.10.2018
02:27:10

Сергей
25.10.2018
02:27:28