
Dmitry
17.06.2017
20:11:45
(нет)

Dreamerinnoise
17.06.2017
20:12:32
Логика в сторе

Dmitry
17.06.2017
20:13:25
А как там что-то типа мидлвары сделать ?

Google

blkmrkt
17.06.2017
20:13:37
“Логика где угодно” - звучит хорошо
Ну например хочешь ты в ф-ии рендера express заинжектить что-нибудь с сервера, не обязательно писать общий метод для этого - берешь инициализируешь стейт, мутируешь его и высушиваешь

Dreamerinnoise
17.06.2017
20:24:59

Dmitry
17.06.2017
20:26:07
ну как-то выглядит не очень удобно
если мне надо выполнить цепочку екшонов на какой-то кнопке
и эту же цепочку екшонов
где-то еще
и для этой цепочки надо несколько сторов, то эти сторы инжектить в каждый компонент

blkmrkt
17.06.2017
20:26:57
Вот я лишь не вдуплил, на какой магии работает MobX. С Редуксом все понятно, это object.assign. А тут что? Простые объекты превращаются в объекты с геттерами-сеттерами, которые видимо и хукаются самим мобксом?

Dreamerinnoise
17.06.2017
20:27:28
он структуры заменяет на свои
и строит граф зависимостей

Dmitry
17.06.2017
20:27:56
как во вью жс
оборачивает сеттеры и геттеры

Google

blkmrkt
17.06.2017
20:28:32

Dreamerinnoise
17.06.2017
20:29:23
Где то был у Вестрйета видос
где он объясняет как оно работает
ща поищу

blkmrkt
17.06.2017
20:29:54
Прошло уже несколько лет, странно почему больше народу не пользуются мобксом
Помню какой хайп был после конференции где редукс показали и какой он простой, и сразу же мобкс появился

Dreamerinnoise
17.06.2017
20:32:28
Он появился раньше афаик

blkmrkt
17.06.2017
20:33:40

Dmitry
17.06.2017
20:39:30
что думаете про webpack-blocks ? https://github.com/andywer/webpack-blocks

Artur
17.06.2017
20:40:18

Dreamerinnoise
17.06.2017
20:40:43

Artur
17.06.2017
20:42:36

blkmrkt
17.06.2017
20:44:06

Artur
17.06.2017
20:44:37
Но мобикс мутирует. Не, не так. МУТИРУЕТ
Абрамов не одобряе

blkmrkt
17.06.2017
20:46:33

Dreamerinnoise
17.06.2017
20:47:12
Абрамов написал?
Похоже на него :3

blkmrkt
17.06.2017
20:47:21

Google

Artur
17.06.2017
20:47:33

blkmrkt
17.06.2017
20:47:49
imagine джона леннона же

Artur
17.06.2017
20:48:18
Можно и под йестердей пропеть кстати

Dmitry
17.06.2017
20:49:19
Ой, смотрю на мобх. Вроде бы прикольно, но что-то не то.

Artur
17.06.2017
20:49:47
https://github.com/mass3ff3ct/mobx-react-inject
Вот товарищ кстати написал инжектилку для мобикса и реакта
Используем у себя, супер выходит
Инжектишь в проперти класса компонента и оно просто работает
А, ну смысл есть только с typescript, он там метаданные активно использует

Dmitry
17.06.2017
20:52:00
А что делаете с мобх ?

Artur
17.06.2017
20:52:38
Кстати начинали с редаксом. Осознанно перешли на mobx.
Отсутствие необходимости нормализовать/денормализовать данные от бека, производительность из коробки, куча возможностей для доп оптимизаций.

Artur
17.06.2017
20:54:10
ДЛя себя решили только одно - не используем внутреннюю магию, типа observe, reaction и так далее

Dreamerinnoise
17.06.2017
20:54:12

Artur
17.06.2017
20:54:37

Dreamerinnoise
17.06.2017
20:55:26
>reaction
но ведь это основа mobx-react
в чём проблема?

Artur
17.06.2017
20:56:19
Обычно стоит немного подумать и получается всё, код становится проще и понятнее, может быть чуть многословнее

Dmitry
17.06.2017
20:58:03
а какая структура кода выходит ? У меня предчувствие что с мобх весь код может скатиться в кашу где вся логика в компоненте

Artur
17.06.2017
20:58:33
Кстати с редаксом появляется целый класс проблем - как переиспользовать один и тот же компонент в разных местах кода. Как писать компоненты, которые могут появляться в разных местах страницы одновременно (например супер крутой умный селектор данных, который и на бек сходит, и в кеш положит, и в локалсторейдж при необходимости)

Google

Дмитрий
17.06.2017
20:59:39
Тот момент, когда разработчики настороженно избегают использования одной из основных фич технологии ?

Artur
17.06.2017
20:59:41

Andrey
17.06.2017
21:00:06

blkmrkt
17.06.2017
21:00:16

Andrey
17.06.2017
21:00:20
Реакт - это отображение, а не логика.

Artur
17.06.2017
21:00:25

Andrey
17.06.2017
21:00:44
Я вообще стараюсь все компоненты имутабельными делать, чтобы мороки меньше было.

Admin
ERROR: S client not available

Artur
17.06.2017
21:00:55

Дмитрий
17.06.2017
21:01:21
Этот спор по прежнему сводится к ооп vs фп. Каждый хвалит инструмент думая о тех возможностях, что он добавляет в его воркфлоу

Andrey
17.06.2017
21:01:27

Дмитрий
17.06.2017
21:01:58
Естественно, собеседник в этот момент идеальную картину представляет себе совершенно иначе

Default
17.06.2017
21:02:22

Artur
17.06.2017
21:02:25

Andrey
17.06.2017
21:03:30

Artur
17.06.2017
21:03:34
А в компоненте страницы это выглядит просто как: <EmployeeAutocomplete value={} onChange={} />

Дмитрий
17.06.2017
21:03:53
А истина как всегда посередине
Нет, тут как раз таки наоборот — я вполне допускаю тот вариант, что один и тот же инструмент для двух разных команд будет генерировать противоположный опыт

Andrey
17.06.2017
21:03:56
Ну, такая простота фатальна, имхо.

Artur
17.06.2017
21:04:35

Google

Дмитрий
17.06.2017
21:05:14
Слои абстракции

Andrey
17.06.2017
21:05:18

Artur
17.06.2017
21:05:32
Но вот такие "панели", из которых соибрается приложение, у нас есть, и с редаксом возникала проблема - как разделять их стейты, приходилось вводить идентификаторы, зубодробительные редусеры с фиксацией айдишника и так далее

Andrey
17.06.2017
21:05:35
Или можно делать обёртки, чтобы использовать удобно было.

blkmrkt
17.06.2017
21:05:55
Вопрос: клиент тянет данные из апи соц. графа - юзернайм, ид, имя и еще 100 параметров. Есть какая проверенная либа для кеширования уже зарезолвленных? Можно и lru-cache, но хотелось бы что-то интегрированное с mobx например

Artur
17.06.2017
21:06:23

Andrey
17.06.2017
21:06:43

Дмитрий
17.06.2017
21:07:16

Dmitry
17.06.2017
21:07:28

blkmrkt
17.06.2017
21:07:33

Artur
17.06.2017
21:07:57
А в чём неудобство?
Ну вот у тебя есть 2 автокомплита, каждый из которых - инстанс одного и того же компонента, но они в разных состояниях - какой-то откыт, какой-то нет, в каком то запрос на бек начался, и так далее. Очевидно что стейты у них разные. Вопрос: как именно разрулить это с редаксом?

Дмитрий
17.06.2017
21:08:11
Точнее, скорее это неизбежно — для вашей команды редакс однозначно развернут поперек)

blkmrkt
17.06.2017
21:08:22

Artur
17.06.2017
21:08:31

Дмитрий
17.06.2017
21:08:36
Так чтохорошо когда у всех есть выбор ?

Andrey
17.06.2017
21:08:46

Дмитрий
17.06.2017
21:08:47
Мой поинт в том, что вам редакс противопоказан и в этом нет ничего такого

Artur
17.06.2017
21:09:19
Сделай 2 обёртки и раздели стейт.
То есть как только разработчику надо будет в форму добавить третье поле с автокомплитом, он должен сделать ещё одну обёртку, делить стейт, и так далее
Сейчас разработчик просто такой: <EmployeeAutocomplete value={} onChange={} /> и всё