@Delawere

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

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

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

state отказывается обновляться, хотя пропсы приходят (в componentDidUpdate это видно). Если передавать статичные props всё норм.
Заранее спасибо.
  • Вопрос задан
  • 561 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
state отказывается обновляться

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

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

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

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

Войти через центр авторизации
Похожие вопросы