prod357
@prod357

Как изменить код, чтобы не появлялась ошибка?

componentWillReceiveProps = nextProps => {
        if(nextProps.auth.isAuthenticated){
            this.props.history.push('/dashboard')
        }
        if(nextProps.errors){
            this.setState({
                errors: nextProps.errors
            })
        }
    };


появляется данная ошибка, прошу помочь;
×
Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Вы по приходу свойства error обновляете компонент в бесконечном цикле. Сам метод componentWillReceiveProps не рекомендован к использованию.
Не ясно зачем вам писать каждое новое значение свойства в одноименный state, если можно использовать напрямую?
Решение:
static getDerivedStateFromProps(props, state) {
  if (props.message) {
    return { message: props.message };
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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