
Сергей
25.10.2018
01:16:02
в итоге мобх накидывает больше проблем, чем решает.
плюс использует декораторы и реактивность
Одно не в стандарте уже очень давно, другое в разы усложняет отладку

Kelin
25.10.2018
01:17:30
Я говорю, если хочется понять, почему магия - это плохо, просто попишите пару месяцев на вью. Заебетесь

Kevin
25.10.2018
01:18:13
Я бы попробовал. Судя по всему, мне бы понравились. Только библиотек очень не хватает

Max
25.10.2018
01:19:26

Google

Сергей
25.10.2018
01:20:31
это антипаттерн, друг мой
примеров сейчас, к сожалению, не накину. но поищу по истории чатов. мобх здесь уже не первый раз ругают
а теперь про магию
https://github.com/mobxjs/mobx/blob/524bf2c8c1f949f3247cea3dcb1cfbf0316f3950/src/core/reaction.ts#L212
вот и всё
100 итераций и mobx считает что это бесконечная петля!
Охуенная эвристика
@bggnx вам бы поизучать как в реальности mobx работает


Kelin
25.10.2018
01:23:39
Пациенту следует назначить 2 месяца Vue внутривенно для профилактики, если наблюдаются следующие симптомы
1. Повышенная тяга к реактивности
2. Заявления, что API на строках - это не плохо
3. Отсутствие защитной реакции на следующие раздражители: темплейт-синтаксис, export default, объявление компонентов объектами
4. Отрицание, непринятие css-in-js и jsx

Сергей
25.10.2018
01:24:16

Max
25.10.2018
01:24:45

Сергей
25.10.2018
01:24:53
дядюшка Боб за такое не похвалит)
https://github.com/mobxjs/mobx/blob/master/src/core/globalstate.ts

Google

Kelin
25.10.2018
01:25:21

Сергей
25.10.2018
01:25:33

Kelin
25.10.2018
01:25:33
Земля пухом

Max
25.10.2018
01:25:57
это и есть детект циклических зависимостей

Сергей
25.10.2018
01:26:16

Andrey
25.10.2018
01:26:48

Сергей
25.10.2018
01:27:06

Kelin
25.10.2018
01:27:14

Сергей
25.10.2018
01:27:50

Max
25.10.2018
01:28:08

Сергей
25.10.2018
01:28:16

Kelin
25.10.2018
01:29:02

Сергей
25.10.2018
01:29:07

Kelin
25.10.2018
01:29:27
Inum

Сергей
25.10.2018
01:29:35
https://github.com/mobxjs/mobx/blob/master/src/core/derivation.ts#L122
короче весь код mobx испещерен каким-то говном
как и преттиер

Kelin
25.10.2018
01:30:17
пол пятого утра, в реакт чате мобикс срачик, бля, охуенно
хорошее утро у кого-то будет

Google

Andrey
25.10.2018
01:30:53

Сергей
25.10.2018
01:31:03

Andrey
25.10.2018
01:31:30

Сергей
25.10.2018
01:32:23
почти все исходники core/ напрямую зависят от глобального состояния

Max
25.10.2018
01:32:31
давай лучше не будем тащить код с mobx, я защищаю не его исходники а его идею и механизм его работы. Мне самому не нравится как он написан. Весь тот механизм мобикса можно реализовать намного проще (https://habr.com/post/349022) лучше уже критикуйте этот код https://github.com/bgnx/xmob/blob/master/xmob/index.ts

Сергей
25.10.2018
01:32:57

Kelin
25.10.2018
01:33:03
А что-нибудь в mobx есть не сломанное?

Andrey
25.10.2018
01:33:25

Сергей
25.10.2018
01:33:43

Max
25.10.2018
01:33:49

Сергей
25.10.2018
01:33:49

Artyom
25.10.2018
01:34:08

Kelin
25.10.2018
01:34:24

Сергей
25.10.2018
01:34:29

Kelin
25.10.2018
01:34:30
(псевдокод)

Max
25.10.2018
01:34:40

Сергей
25.10.2018
01:34:48
а где ссылка на issue/pr
а где описание, что именно пофикшено
пиздец

Andrey
25.10.2018
01:34:56

Google

Andrey
25.10.2018
01:35:14
Такое писать без реактивности смерти подобно.

Сергей
25.10.2018
01:35:14
https://github.com/mobxjs/mobx/commit/86b500d52f294378e55f03db7c2a3cfaf3ed05e4

Kelin
25.10.2018
01:35:45

Andrey
25.10.2018
01:35:53

Kelin
25.10.2018
01:35:53
сколько хочешь пили их

Сергей
25.10.2018
01:35:56

Max
25.10.2018
01:36:12

Admin
ERROR: S client not available

Andrey
25.10.2018
01:36:33
как эффектор?
Тебе все равно надо будет руками восстанавливать цепочку. Но я примерно такое решение и имел ввиду.
Ещё надо будет как-нибудь сделать верификацию стора нормальную и будет ок все.
Но здесь уже надо с бабелем трахаться.

Kelin
25.10.2018
01:38:15

Andrey
25.10.2018
01:38:47
У тебя c, d, e - это компьютеды)

Kelin
25.10.2018
01:39:03

Andrey
25.10.2018
01:39:30
И?
Ты мне выше предложил отказаться от компьютедов и использовать combine)

Сергей
25.10.2018
01:39:31
но есть куда более реальный

Kelin
25.10.2018
01:39:54

Google

Kelin
25.10.2018
01:39:56
перечитай

Artyom
25.10.2018
01:40:00

Andrey
25.10.2018
01:40:19
Но вообще мне кажется, что надо реализовывать компьютеды как сделано в нокауте или вью.

Kelin
25.10.2018
01:40:39
Посыл автора того поста в том, чтобы не триггерить "апдейт" e в случае, если d обновился, а он возвращает a. Так вот, его здесь не будет

Сергей
25.10.2018
01:42:34
интересно, а хренли у меня при огромных сложных связях в сторе нет лишних апдейтов?

Andrey
25.10.2018
01:43:05

Artyom
25.10.2018
01:43:16

Kelin
25.10.2018
01:43:51
У меня есть лишние апдейты только в дереве компонентов. И только в списках. По причине, описанной выше. Я не могу перенести списки в эффектор, потому что работать с ними нормально пока невозможно (я верю, что возможно, но нормального решения не придумал)

Andrey
25.10.2018
01:44:22

Kelin
25.10.2018
01:44:24
Собственно, сегодня словил вот серьезную просадку перфоманса, когда изменение инпута в карточке со списком триггерило ререндер каждой карточки 5 раз ~_~

Max
25.10.2018
01:44:34
прочти внимательно требования задачи - сколько раз вызовется "e" при изменении "а" ? Нужно чтобы вызывался тольк один раз а не дважды. И сторы "d" и "с" должны вычисляться не всегда а только тогда когда стор "e" зависит от "d" (то есть когда выполняется условие a.length <= 5

Artyom
25.10.2018
01:44:53

Kelin
25.10.2018
01:44:59

Сергей
25.10.2018
01:45:07

Kelin
25.10.2018
01:45:10

Artyom
25.10.2018
01:45:34

Сергей
25.10.2018
01:45:36

Andrey
25.10.2018
01:45:50

Artyom
25.10.2018
01:46:04

Kelin
25.10.2018
01:46:27

Max
25.10.2018
01:46:43

Kelin
25.10.2018
01:46:44
Из-за этого реакт перерендеривал список иииииии все айтемы тоже