Задать вопрос
Nikulio
@Nikulio
NaN !== NaN

Почему выдаёт Maximum update depth exceeded?

Всем привет.
Не понимаю, почему постоянно идёт триггер обновления в компоненте.
Код:

fetchBalanceUser() {
    let { users } = this.props; // это я получаю из редакса
    let login = this.state.user;
    Object.keys(users).map(element => {
      if (login === users[element].login) {
        this.props.fetchBalance(users[element].cash); // это я передаю в AC
      }
    });
  }


render() {
    this.fetchBalanceUser(); //вызываю
...


export const fetchBalance = val => {
  return {
    type: FETCH_BALANCE,
    payload: val
  };
};


import * as  actions from "../actions"

export function balanceReducer(state = 0, action) {
  switch (action.type) {
    case actions.FETCH_BALANCE:
      return action.payload;
    case actions.ADD_BALANCE:
      return state = state + action.payload;
    default:
      return state
  }
}


Все это вешает браузер и ругается :

5a7b31fe8891f583154175.jpeg
  • Вопрос задан
  • 1652 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@SeaBreeze876
Front-end разработчик
не следует в методе render диспатчить действия: на действие происходит перерисовка, которая бросает действие, которое вызывает перерисовку, которая бросает действие
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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