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

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

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

  return null;
}


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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽