(useSelector, useDispatch), то там dispatch не работет с action creators, собственно будет глобалюный метод dispatch, и еще там если parent компонент сделает рендер, то и редакс-ребенок будет делать рендер, вне зависимости от пропов, если не юзать react.memo (чего нет если юзать connect)
получаетсся для нормальной имитации работы редакса с хуками надо все редакс компоненты засунуть в react.memo , и что делать с dispatch. идея action creators очень хорошая, а тут вот вам один метод.
Чего?) без хуков ты получаешь ссылку на диспатч в ХОКе, а с хуками — ту же ссылку на тот же диспатч в компоненте. Больше различий никаких
ну так с connect там второй аргумент можно мапить на action creator и вообще избавиться от “dispatch”. а что на счет react.memo и ре рендеринга ?
Не избавиться, а спрятать
На счёт рендера Коннект от хука ничем не отличается.
Про мемо не понял
Он почему-то думает, что Коннект компонент не перерендеривает детей.
я увидел, что если редакс коммпонент А делает рендер, то его ребенок редакс компонент Б не будет делать рендер если значениия из mapToProps у Б не менялись. то есть если Б читает значение X от стейта, и при ре рендера А, Х не меняется, то и Б не будет делать рендер. это при connect теперь с хуакми получается что ребенок всегда будет делать ре рендер если рендер сделает родитель, пока не юзать react.memo
https://amorgunov.com/posts/2020-04-12-use-redux-with-react-hooks/#redux-hooks-%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2-connect
Получается, что да. Нужны ли эти сокрытые оптимизации — другой вопрос.
Обсуждают сегодня