Size: a a a

Redux — русскоговорящее сообщество

2018 May 19

DZ

Dmitry Zherebko in Redux — русскоговорящее сообщество
по ссылке ?
источник

AK

Anton Korzunov in Redux — русскоговорящее сообщество
откудаж у тебя одинаковые mstp?
источник

DZ

Dmitry Zherebko in Redux — русскоговорящее сообщество
Dmitry Zherebko
ну у тебя по идее это beatiful-react-redux
если просто мемоизация, то вот уже реализовано ))
источник

NK

ID:72036040 in Redux — русскоговорящее сообщество
Dmitry Zherebko
как ты определишь что они одинаковые 7
Я - никак. Я заставлю разработчика это самому делать
источник

NK

ID:72036040 in Redux — русскоговорящее сообщество
Anton Korzunov
откудаж у тебя одинаковые mstp?
Элементы списка в connect?
источник

DZ

Dmitry Zherebko in Redux — русскоговорящее сообщество
ты такой невинный разработчк, устанавливаешь либку, а потом у тебя с пекейдж жсона вылазит арталар и заставляет писать одинакоые мап стейт тупропс
источник

AK

Anton Korzunov in Redux — русскоговорящее сообщество
ID:72036040
Элементы списка в connect?
Там ownProps разные
источник

NK

ID:72036040 in Redux — русскоговорящее сообщество
Anton Korzunov
Там ownProps разные
И об этом надо думать, если в mstp они успользуются
источник

NK

ID:72036040 in Redux — русскоговорящее сообщество
Я особо не продумывал этот момент, но смысл в том, что можно придумать инфраструктуру, которая будет поощрять написание селекторов так, что их вызов можно будет мемоизировать
источник

NK

ID:72036040 in Redux — русскоговорящее сообщество
Например, мы все селекторы кладем в отдельный объект и имеет к ним доступ через функциональный (через аргументы) DI
источник

NK

ID:72036040 in Redux — русскоговорящее сообщество
Ну и, совсем попростому:
memoizeSelector = result || result = selector()
источник

NK

ID:72036040 in Redux — русскоговорящее сообщество
result очищаем при обновлении стора, перед проходом по подписчикам
источник

AK

Anton Korzunov in Redux — русскоговорящее сообщество
ID:72036040
Я особо не продумывал этот момент, но смысл в том, что можно придумать инфраструктуру, которая будет поощрять написание селекторов так, что их вызов можно будет мемоизировать
Прокси! Ты _знаешь_ где и что у тебя используется, остается только перейти от исполнения 100500 мемоизированных селекторов к обходу дерева
У тебя есть дерево знаний того что изменилось, и дерево знаний тех кто изменение “ждет”
Все - обход этого дерева примерно не зависит от колва подкюченных элементов. Селекторы которым “не нужно” изменение - вообще лесом идут.
React-easy-state примерно на этом и работает
источник

DZ

Dmitry Zherebko in Redux — русскоговорящее сообщество
изи стейт ниче не делает
источник

DZ

Dmitry Zherebko in Redux — русскоговорящее сообщество
обзервер утил
источник

DZ

Dmitry Zherebko in Redux — русскоговорящее сообщество
это делает)
источник

AK

Anton Korzunov in Redux — русскоговорящее сообщество
Ну тут без разницы
источник

AK

Anton Korzunov in Redux — русскоговорящее сообщество
он set на элемент трекает, и запускает всех слушателей которые get это поле у этого элемента. В реальности чуть сложнее, так как он разделяет команды, но суть такая
источник

AK

Anton Korzunov in Redux — русскоговорящее сообщество
Работает только с mutable state
источник

DZ

Dmitry Zherebko in Redux — русскоговорящее сообщество
Кстати еще появилась идея с редуксом,  допустим у нас есть список ключей которые поменялись при вызове редукса. Что если мы оборачиваем в редуксе те ключи которые поменялись геттерами и дальше просто проверяем, был ли у нас доступ к этому ключу в селекторе или нет и если небыло, то текущее поддерево не обновляем.
источник