我的render方法中需要从API获取的数据。我收到错误: “无法在已卸载的组件上执行React状态更新。这是无操作,但是它指示您的应用程序中发生内存泄漏。要修复,取消componentWillUnmount方法中的所有订阅和异步任务”。
有没有办法等到响应准备好后再调用render方法?
答案 0 :(得分:0)
componentDidMount()生命周期方法是获取数据的最佳位置。在render方法中,您可以检查是否已设置数据,然后显示结果,如果结果为null,则显示微调框。
import React, { Component } from 'react';
class App extends Component {
constructor(props) {
super(props);
this.state = {
data: null,
};
}
componentDidMount() {
fetch('https://api.mydomain.com')
.then(response => response.json())
.then(data => this.setState({ data }));
}
...
}
export default App;
中找到更详细的描述