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

Как изменить componentWillReceiveProps на getDerivedStateFromProps?

Объясните пожалуйста
Мой пример
componentWillReceiveProps(nextProps) {
    if (this.props.token !== nextProps.token) {
      this.Comments(nextProps.token)
    }
  }

пробовал так
static getDerivedStateFromProps(props) {
    if (props.token) {
      this.Comments(props.token)
    }
  }
  • Вопрос задан
  • 1062 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 1
Hecc
@Hecc
Frontend. Дизайн. Шрифт.
getDerivedStateFromProps это статический метод, вы не можете там обращаться к экземпляру класса (использовать this).
То, что вы вернете из этого метода, попадет в стейт вашего компонента.

Если допустить, что у вас в стейте компонента есть token, то это будет выглядеть так:
class XXX extends React.Component {
	state = {
		token: null
	}

	static getDerivedStateFromProps( props ){
		if( props.token){
			return {
				token: props.token
			}
		}
		return null;
	}
}


Гляньте доку на всякий случай и вот эту статью. Возможно, в вашем случае этот метод и не нужен, так как это не замена componentWillReceiveProps, а метод с немного другой механикой.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽