Вероятнее всего лагает из-за выполнения проверок на иммутабельность хранилища и сериализуемость объектов хранилища. Отключить эти проверки можно в параметрах функции getDefaultMiddleware.
Из статьи по вашей ссылке: you are not required to use selector functions in a Redux app, а также сказано “Similarly, you don't have to use the Reselect library to create selectors — you can just write plain functions if you want”
В большинстве случаев необходимо использовать прямую выборку из стэйта. Предпочтительное использование мемоизации заключается не в получении сложных выборок, а кэшировании комплексных, часто запрашиваемых данных в случае, если начинает провисать производительность. По поводу производительности и ее преждевременной оптимизации можно ознакомиться со следующей статьей: optimization guide.
Стор хранит нормализованные данные, данные можно нормализовывать как угодно до их попадания в стор. А после пользоваться ими как удобно. Селекторы модифицируют изъятые данные в конкретном месте, а Redux DevTools может это отображать как цельное состояние, это и имелось ввиду.
Redux DevTools способен обрабатывать модифицированный селекторами store, и выводить его в общем виде. А селекторы “болтаются отдельно”, потому что не являются часто используемой фичей.
Такое понятие “мутаторы” к Redux не относится.
Низкая популярность прежде всего связана с тем, что релиз библиотеки версии 1.0 состоялся всего 2 месяца назад.
Redux toolkit как раз и призван решить проблемы выбора подходящих средств из всего разнообразия в типичных случаях использования.
Действительно, сам по себе React фреймворком не является. Технически, это библиотека для создания пользовательских интерфейсов. Но за время своего существования эта либа обросла достаточно большой экосистемой с внушительным набором лучших практик и инструментов, что позволяет работать со всем этим как с фреймворком.
Вероятнее всего лагает из-за выполнения проверок на иммутабельность хранилища и сериализуемость объектов хранилища. Отключить эти проверки можно в параметрах функции getDefaultMiddleware.
Привожу пример:
Селектор -
MapStateToProps —
Хранится в store в виде массива —
data: []
.Результат в DevTools —
Для построения абстраций не обязательно использовать дополнительные библиотеки.
Если использовать хуки Redux получится лаконичнее:
Из статьи по вашей ссылке: you are not required to use selector functions in a Redux app, а также сказано “Similarly, you don't have to use the Reselect library to create selectors — you can just write plain functions if you want”
Последние версии Redux Devtools (2.15 точно) это позволяют.
В большинстве случаев необходимо использовать прямую выборку из стэйта. Предпочтительное использование мемоизации заключается не в получении сложных выборок, а кэшировании комплексных, часто запрашиваемых данных в случае, если начинает провисать производительность. По поводу производительности и ее преждевременной оптимизации можно ознакомиться со следующей статьей: optimization guide.
Стор хранит нормализованные данные, данные можно нормализовывать как угодно до их попадания в стор. А после пользоваться ими как удобно. Селекторы модифицируют изъятые данные в конкретном месте, а Redux DevTools может это отображать как цельное состояние, это и имелось ввиду.
Такое понятие “мутаторы” к Redux не относится.
Низкая популярность прежде всего связана с тем, что релиз библиотеки версии 1.0 состоялся всего 2 месяца назад.
Redux toolkit как раз и призван решить проблемы выбора подходящих средств из всего разнообразия в типичных случаях использования.