React 调用 API 取决于 Props

React call API depending on Props

组件应该根据 Prop 的值从 API 中获取新数据。这样 - 不幸的是 - 我无法将 API 调用放在 componentDidMoun() 方法中。我需要将它放在其他地方以动态加载它(当 Prop 发生变化时)。

我不知道把它放在哪里最好的做法是通过 setState() 避免异步副作用的问题。

假设我在 App.js 中有两个组件。一个是列表选择器,我可以在其中选择一个国家/地区。国家被传递给另一个组件,然后从 API 获取数据并显示获取的数据。

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
  }
}