@d-virt

На сколько целесообразно изменять состояние в shouldComponentUpdate?

Здравствуйте!

Уточните, пожалуйста, на сколько целесообразно изменять состояние в shouldComponentUpdate?
shouldComponentUpdate(nextProps, nextState) {
    this.setState({....});
}


Или задача: у меня в компоненте два состояние (т.е. две переменные setState({val1 = '', val2 = ''})). Значение первого состояние this.state.val1 зависит от значения второго состояние this.state.val2 (т.е.
setState({val1 : this.state.val2 == 1 ? true : false})
).

P.S. знаю что this.state.val2 == 1 идентично this.state.val2 == 1 ? true : false, написал специально для глаза смотрящих.

Вопрос: Где лучше изменить значение первого состояние this.state.val1 ?

Спасибо!
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
risentveber
@risentveber
fullstack web developer
1.Нарушает логику использования фреймворка - что само по себе очень плохо, также может привести к бесконечной рекурсии(нужно смотреть исходники).
2.Не нужно пытаться всевозможные переменные, которые используется при рендеринге пихать в стейт. Просто отрефактори свой код следующим образом: вместо непосредственного обращения кthis.state.val1вызывай что-то в духеthis.getVal1()
что может быть реализованно вот так:
class MyComp extends React.Component {
   ...
  getVal1() {
    return this.state.val2 == 1;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы