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

React, Как изменить стэйт?

Есть форма и результат, которые общаются через родителя.
В форме формируются данные, высылаются к родителю, там идет обработка данных и высылаются данные в компонент результат. Но они туда идут как проперти, и стэйт у результата не меняется. Как изменить стэйт у результата?
<Result data = {this.state.data}/>
В пропс данные попали, изменились, а в стейт остались старые.
Уже голова плывет просто, но надо доделать
5c0a4ad814b15583357386.png
  • Вопрос задан
  • 306 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
static getDerivedStateFromProps(props, state) {
  if (props.data !== state.data) {
    return {
      data: props.data,
    };
  }

  return null;
}


Но, по-хорошему, если данные хранятся в state родителя и изменяются там же, то в большинстве случаев их не надо писать в state дочернего компонента, можно, просто, использовать props.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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