
Дмитрий
11.06.2018
15:13:20

from
11.06.2018
15:13:20
А почему чудовищно? Разве использование recompose не подразумевает подобное?)

Dzmitry
11.06.2018
15:13:25
думал на сайте

Google

Дмитрий
11.06.2018
15:14:08
Чем так
recompose fatigue

from
11.06.2018
15:15:45
По-моему эта вложенность не особо отличается от вложенности, скажем, хтмл-тэгов
С разницей только, что если в самом глубком <span /> сделать опечатку, то в консоли не будет подобной картины. А могла бы быть :)

Дмитрий
11.06.2018
15:19:43
Я без понятия) Можешь исследовать эту проблему подробнее, думаю все будут благодарны)

from
11.06.2018
15:20:15
Полагаю, покажи вам ту же самую вложенность, только в реакт-девтулзах, где не красненький цвет ошибки, а нейтральный, говорили бы "какая крутая композиция"

Дмитрий
11.06.2018
15:20:50
У меня сейчас например дерево компонентов в развернутом виде касается правой стороны экрана дважды
Если не больше
Не могу сказать что я в восторге ?

from
11.06.2018
15:21:33

Дмитрий
11.06.2018
15:22:01
Ну просто мало приятного же такой трейс разбирать
Реально ангуляр вспоминается))

Google

from
11.06.2018
15:22:40
согласен, но это же не секрет какой-то, что с рекомпоузом он таким будет)

Дмитрий
11.06.2018
15:23:14
Есть предположение что можно сделать по нормальному и выйдет даже проще)
Можно примерно прикинуть что делает этот код по названиям))))) на скрине
Вот я поглядел и говорю, что это похоже на неудачное использование

from
11.06.2018
15:30:50

Дмитрий
11.06.2018
15:31:48
По нормальному — это когда не хочется выкладывать скрин со словами "смарите какой трэш)))"
Всё остальное детали))

from
11.06.2018
15:32:52
ну это таксе аргумент, когда-то выкладывали скрины с jsx'ом с теми же словами
по-моему в рекомпоузе кстати есть какой-то хок для оверрайда displayName
только насколько я помню он тоже не такой уж удобный) Но кажется с этой проблемой как раз борется

Сергей
11.06.2018
15:34:00
но появляется просто ещё один компонент с красивым названием ?

Дмитрий
11.06.2018
15:35:51
Можно и без него

from
11.06.2018
15:36:07

Дмитрий
11.06.2018
15:36:58
Виртуализация в том числе для того, чтобы не обсчитывать 100500 строк разом, а только те что умещаются на экране
Но я бы оптимизировал сначала коннект строк, пригодится всё равно

from
11.06.2018
15:38:39

Сергей
11.06.2018
15:39:00

Дмитрий
11.06.2018
15:40:06

from
11.06.2018
15:40:24

Google

Дмитрий
11.06.2018
15:40:31
Ну например
У redux и react-redux есть пределы, за которые они не прыгнут никак

Сергей
11.06.2018
15:42:46

Дмитрий
11.06.2018
15:43:06
Так проще зачастую

from
11.06.2018
15:43:10
Хотя с виртуализацией как раз может быть это уже некритично)

Сергей
11.06.2018
15:43:30

from
11.06.2018
15:44:42
А у тебя точно ридакс?)
Эм, редакс-то редакс, только какая разница
если подключать весь список, а не по строчке, то при обновлении одного элемента ререндер всего списка вызывается
Обычная же ситуация

Дмитрий
11.06.2018
15:45:22
Редакс пособия запугали людей, не нужно бояться ререндеров, если у вас при этом не меняются данные
Так работает реакт

from
11.06.2018
15:45:39
так, началось :)

Дмитрий
11.06.2018
15:45:54
Одинаковые пропсы создают одинаковые деревья и diff будет в ноль

Сергей
11.06.2018
15:46:10

Дмитрий
11.06.2018
15:46:59
так, началось :)
Ну я серьезно, думаешь просто так авторы реакта поддерживают идею про render props? Именно потому что всё все равно считается в 0

from
11.06.2018
15:47:31
спасибо за экскурс) но это всё понятно, я же вообще не об этом спрашивал-то
Как раз недавно половину таблиц в приложении переписали, чтобы не подключать элементы отдельно

Дмитрий
11.06.2018
15:47:52
Я просто тебе уже ответил как бы

from
11.06.2018
15:49:41

Сергей
11.06.2018
15:50:07

Дмитрий
11.06.2018
15:50:45
Я так в итоге сначала форкнул а потом выпилил редух ¯\_(ツ)_/¯

Google

Сергей
11.06.2018
15:51:28

Дмитрий
11.06.2018
15:58:49

Сергей
11.06.2018
15:59:06

Дмитрий
11.06.2018
15:59:49
Конешн) Старый прям принципиально нигде не хочу

Сергей
11.06.2018
16:01:17
Один это консумер, второй это собственно тот который рендерит консумера

Дмитрий
11.06.2018
16:05:05

Admin
ERROR: S client not available

Сергей
11.06.2018
16:05:16
Вообще без?

Дмитрий
11.06.2018
16:05:35
Да, consumer как отдельный компонент, а в нём рендер проп
@goodmind

VS JS
11.06.2018
16:05:59
кто-то знает можно инпут из material-ui задебаунсить(debounce) как то?

andretshurotshka?❄️кде
11.06.2018
16:08:56
там просто setState
контекст не умеет провайдить из чайлдов, и то этот апи на крайний случай
должно консьюмера хватать

Сергей
11.06.2018
16:09:52
То есть эта штука глобальная

Дмитрий
11.06.2018
16:09:56
effector-react кстати совсем небольшой, в нём меньше килобайта в итоге
https://github.com/zerobias/effector/blob/develop/src/react/createStoreConsumer.js#L11

Google

Сергей
11.06.2018
16:09:59
По структуре не работает

Дмитрий
11.06.2018
16:10:06

Сергей
11.06.2018
16:10:08

Дмитрий
11.06.2018
16:10:14
Ну лан))

andretshurotshka?❄️кде
11.06.2018
16:10:19
по структуре?

Alex
11.06.2018
16:12:27

Dmitry
11.06.2018
16:13:59
че он оптимайзить будет ?

Дмитрий
11.06.2018
16:15:07
Да вроде с таким мотивом и убрали

Dmitry
11.06.2018
16:18:20
если простыми словами у тебя цепочка из селекторов где на каждой цепочке через шаллоу иквал отсекается какой-то апдейт

Alex
11.06.2018
16:18:40
мне предстоит сделать подписку и обновление полей, в том числе на другие данные из стейта, я так же управляю изменениями и знаю что поменялось, пока только не придумал как реализовать подписку

Дмитрий
11.06.2018
16:20:01
Там тебя ждёт сюрприз
Это сложнее чем всё остальное тобой описанное вместе взятое)
Я тож думал что ща быстро затащу)

Alex
11.06.2018
16:20:44
типа, если поле подписано только на своё значение, то всё просто, а если будут перекрёстные подписки, становится сложнее + рост вычислений не линейный из за прохода типа (кол. изменений) => (кол. полей) & (кол. подписок)

Dmitry
11.06.2018
16:21:06
поменялось или не ?

Alex
11.06.2018
16:21:29
не, я уже прикинул, скорее всего придётся два массива ссылок хранить, что на что подписано в ту и другую сторону, чтобы быстро пробегать по подпискам

Дмитрий
11.06.2018
16:22:11

Alex
11.06.2018
16:22:18
но тут есть ещё нюанс, у меня подписка выглядить как путь до изменившегося поля, т.е.
изменилось user.id, подписка может быть user а может быть user.id и обе должны будут обновиться

Dmitry
11.06.2018
16:22:22
ну если без шеллоу то да