getDerivedStateFromProps рендерится для каждого обновления поля в реакции - PullRequest
0 голосов
/ 01 октября 2018

У меня есть форма с 8 полями. Я устанавливаю состояние полей в значения, которые я получаю из API в getDerivedStateFromProps.

static getDerivedStateFromProps(nextProps, prevState)
{
    if(nextProps.fetch!==prevState.isFetching)
    {
        return {
            name:nextProps.username,
            email:nextProps.email// So on for 8 fields
          };
     }
return null

}

Теперь всякий раз, когда явнесите какие-либо изменения в поля, вызывается getDerivedStateFromProps и он рендерится заново.Это так, как должно работать или я что-то не так делаю?

1 Ответ

0 голосов
/ 01 октября 2018

Вы должны вернуть объект с парой key:value следующим образом:

 return {
   name:nextProps.username,
   email:nextProps.email// So on for 8 fields
 };

getDerivedStateFromProps вызывается, и он перерисовывается.Это так, как это должно работать, или я делаю что-то не так?

Да, очевидно.Всякий раз, когда вы возвращаете новое состояние, компонент будет повторно отображаться.И так работает реакция.

...