重新渲染组件后进行React API调用

时间:2018-10-30 10:35:52

标签: reactjs

我有一个componentDidMount,我在其中调用API,然后有一个this.setState({... this.state})。

在渲染内部,我有一个调用删除功能的按钮。现在,当调用此delete时,我正在重新渲染,但我也希望调用componentDidMount中存在的API,因为delete功能会删除同一组件中的某些数据,稍后应显示更新的值。

问题是,当我重新加载页面时,我得到了所需的数据,但是重新渲染却没有显示所需的数据。

2 个答案:

答案 0 :(得分:1)

实际上,您在componentDidMount中编写的API调用代码可以编写为单独的函数,然后在删除数据时调用。

componentDidMount() {
    this.fetchData();
}

// using arrow function to achieve correct context binding
fetchData = () => {
   // your API call here
} 

delete = () => {
   // call fetchData here after delete
   this.fetchData();
}

答案 1 :(得分:0)

如果您的反应版本将小于16,那么您可以为此componentDidUpdate。已弃用此标记,但仍可以在其名称前使用UNSAFE_标志。

从stackoverflow本身检查此链接以获取真实示例:here

如果您想使用在React版本16及更高版本中更强大的处理方式,可以使用getDerivedStateFromProps,为此,您可以检查从stackoverflow处理它的相应方式:here < / p>

相关问题