我使用 react router dom 中的 Route 组件在它们之间路由了 2 个组件。componentDidMount
其中一个组件在事件(使用 axios 包)时从虚拟 API 服务器获取数据,代码如下:
componentDidMount() {
axios.get('/posts')
.then(response => {
const posts = response.data.slice(0, 4);
const updatedPost = posts.map(post => {
return {
...post,
author: 'Max'
};
});
this.setState({ posts: updatedPost });
})
.catch(error => {
console.log(error);
});
}
错误是,当我从一个组件重定向到另一个组件的速度太快,或者甚至不是那么快时,我会在控制台上收到以下警告:
警告:只能更新已安装或正在安装的组件。这通常意味着您在未安装的组件上调用了 setState、replaceState 或 forceUpdate。这是一个无操作。
请检查帖子组件的代码。
我能做些什么来解决这个问题?我试图通过以下方式弄清楚: setState(...): Can only update amounted ormounting component。这通常意味着您在未安装的组件上调用了 setState()。这是一个空操作 ,但我真的不明白何时传递 ref 以及如何传递。如果有人可以举例说明如何解决此问题,那就太好了。谢谢!