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

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

Есть форма и результат, которые общаются через родителя.
В форме формируются данные, высылаются к родителю, там идет обработка данных и высылаются данные в компонент результат. Но они туда идут как проперти, и стэйт у результата не меняется. Как изменить стэйт у результата?
<Result data = {this.state.data}/>
В пропс данные попали, изменились, а в стейт остались старые.
Уже голова плывет просто, но надо доделать
5c0a4ad814b15583357386.png
  • Вопрос задан
  • 306 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 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 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽