React call API в зависимости от Props - PullRequest
0 голосов
/ 19 июня 2020

Компонент должен получать новые данные из API в зависимости от значения свойства. Таким образом, к сожалению, я не могу разместить вызов API в методе componentDidMoun(). Мне нужно разместить его где-нибудь еще, чтобы динамически загрузить его (когда свойство изменилось).

Я не знаю, где его разместить, передовой практикой и избежать проблем с асинхронным побочным эффектом через setState().

Допустим, у меня есть два компонента в App.js. Один из них - сборщик списка, в котором я могу выбрать страну. Страна передается другому компоненту, который затем получает данные из API и отображает полученные данные.

1 Ответ

1 голос
/ 19 июня 2020

HI Вы можете использовать функцию componentDidUpdate для вызова api на основе условия, что новые реквизиты не равны старым реквизитам.

componentDidUpdate(prevProps, prevState)
{
  if(this.props[ANY_KEY] ! == prevProps[ANY_KEY]{
    //MAKE THE API CALL HERE AND SET THE STATE IF YOU WANT TO
  }
}
...