【发布时间】:2018-10-28 00:18:40
【问题描述】:
我正在 componentDidMount 中获取数据并更新状态,并且出现了著名的警告:
警告:无法在未安装的组件上调用 setState(或 forceUpdate)。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要修复,请在 componentWillUnmount 方法中取消所有订阅和异步任务。
我的代码如下:
componentDidMount() {
let self = this;
let apiBaseUrl = Config.serverUrl;
axios.get( apiBaseUrl + '/dataToBeFetched/' )
.then( function(response) {
self.setState( { data: response.data } );;
} );
}
是什么导致了这个警告?获取数据和更新状态的最佳方法是什么?
【问题讨论】: