Задать вопрос
@1233211

В чём разница между reselect и хуками useCallback и useMemo?

Почитал про reselect и не понял зачем он нужен, когда есть useCallback и useMemo. По идее делают же одно и тоже.
  • Вопрос задан
  • 721 просмотр
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
alex4answ
@alex4answ
Это очень разные вещи:

1. useCallback - мемоизирует саму функцию, а не ее результат
2. useMemo - мемоизирует результат функции
3. Reselect - это вообще редаксовская штука, мемоизирует результаты селектора, и выстраивает зависимости одного от другого, если результат зависимого селектора не обновился - реселект не будет пересчитывать селектор. кароче говоря оптимизация.
Ответ написан
Комментировать
@antsam
Reselect логично использовать для глобальной мемоизации - когда одно и тоже мемоизированное значение нужно использовать в разных компонентах(контейнерах) программы. Поэтому реселект используют совместно с редаксом, т.к. редакс - это состояние всего приложения.

useMemo и useCallback - есть смысл использовать для мемоизации данных которые вычисляются для одного конкретного компонента (или его детей) и нигде больше не нужны.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы