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

Как предотвратить повторный рендер компонента при изменении redux store?

Добрый день, столкнулся с непонятной мне вещью.

Есть компонент - контейнер, который использует 1 часть стора и изменяет другую часть:
const date = useSelector(state => state.dashboard.date);

useEffect(() => {
  dispatch(getAllHouses());
}, [dispatch, date]);


В итоге, когда изменяется одна часть стора, которая не используется в этом компоненте (загружаются все houses), компонент рендерится повторно и снова срабатывает useEffect ( хотя date тот же самый, я даже возвращаю часть state, а не новый объект из state )

В итоге все скатывается в бесконечный цикл рендера, почему и как этого избежать?
Я правильно понимаю что изменяя одну часть store, которая даже не используется в данный момент (на странице и компонентах), будет выполнен повторный рендер дерева начиная с Redux Provider ?
  • Вопрос задан
  • 337 просмотров
Подписаться 2 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽