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

Как установить props в state дочернего компонента?

Всем привет.
У меня есть родительский компонент InputGroup, в котором я делаю запрос в БД, устанавливаю пришедшие данные в state, далее передаю данные в дочерние компоненты Input соответствующий state в виде props.
Собственно здесь заключается проблема. В дочернем компоненте я имею следующий this.state

this.state = {
      to: this.props.first,
      from: this.props.second,
    };

state отказывается обновляться, хотя пропсы приходят (в componentDidUpdate это видно). Если передавать статичные props всё норм.
Заранее спасибо.
  • Вопрос задан
  • 573 просмотра
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
state отказывается обновляться

Риторический вопрос - а с чего вы решили, что он должен обновляться? Вообще, подобные заблуждения имеют своей причиной крайне слабые знания js, задумайтесь над этим.

Проверяйте в componentDidUpdate, что props изменились - если да, делайте setState (побочным результатом будет двойное обновление компонента, можно избежать этого с помощью shouldComponentUpdate). Или используйте getDerivedStateFromProps.

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

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

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