组件应该根据Prop的值从API中获取新数据。不幸的是,通过这种方式,我不能将API调用放在componentDidMoun()
方法中。我需要把它放在其他地方来动态加载它(当道具改变时)。
我不知道把它放在哪里是最佳实践,也不知道如何通过setState()
避免异步副作用的问题。
假设我在App.js
中有两个组件。一个是列表选择器,我可以从中选择一个国家/地区。国家/地区get被传递给另一个组件,然后该组件从API获取数据并显示获取的数据。
发布于 2020-06-20 02:13:20
您好,您可以在新道具和旧道具不相等的条件下,使用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
}
}
https://stackoverflow.com/questions/62476103
复制相似问题