Задать вопрос
xoma2
@xoma2
Программист

Как остановить Render при получении новых props?

Не могу понять componentWillReceiveProps все равно ререндерит.
А мне надо отловить условие, чтобы не вызывать render.
  • Вопрос задан
  • 797 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@GreenAnon
Web developer
Нужно воспользоватся методом
shouldComponentUpdate(nextProps, nextState)вместоcomponentWillReceiveProps

т.е. ваш случай
shouldComponentUpdate(nextProps, nextState) {
    if (this.props.a != nextProps.a) {
        return false
    } else {
        return true
    }
}

или покороче
shouldComponentUpdate(nextProps) {
    return this.props.a !== nextProps.a;
}

по умолчанию во всех React.Components shouldComponentUpdate возвращает true.

Детальней: https://facebook.github.io/react/docs/component-sp...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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