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

React-redux: хуки или классический подход через connect — плюсы и минусы?

На днях познакомился с хуками от react-redux, но полного понимая не сложилось, какие преимущества и недостатки каждого из подходов, был бы очень благодарен за обратную связь.

Хотелось бы получить ответ, если мы пишем приложение без классовых компонентов.
Пишут, что connect более производительная штука, а useSelector чаще будет рендирить, так ли это?

Если использовать reselect в связке с хуками от react-redux (useSelector, useDispatch), можно ли полностью заменить подход с connect (mapStateToProps && mapDispatchToProps) и рассчитывать на аналогичную производительность?
  • Вопрос задан
  • 328 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
miraage
@miraage
Старый прогер
Пишут, что connect более производительная штука, а useSelector чаще будет рендирить, так ли это?

Кто это сказал и чем подкрепил эти факты? По мне, звучит как вода.

reselect нужно использовать независимо от того, используются хуки или connect, но только в случаях, когда селектор должен вернуть какие-то computed данные.

Если посмотреть реализацию.

connect везёт вагон кода: mapStateToProps (который имеет несколько вариаций, в зависимости от того, испольуются ownProps или нет), mapDispatchToProps (который создаёт новые функции), mergeProps (надо проверить, передали её или нет), ещё и options поверх этого всего. Возвращает компонент, который делает equalty checks и может что-то ещё. То есть, connect поверх всего вагона кода, дает нам компонент сверху, который везёт в себе логику.

хуки же: useSelector тупо подписывается на store и делает только equality checks, useDispatch вынимает dispatch функцию через Context API и не создаёт никаких новых функций, мы просто испольуем уже готовые actionCreator.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽