Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.removeEventListener不在组件上工作将卸载_Javascript_Reactjs_Event Handling_Dom Events - Fatal编程技术网

Javascript window.removeEventListener不在组件上工作将卸载

Javascript window.removeEventListener不在组件上工作将卸载,javascript,reactjs,event-handling,dom-events,Javascript,Reactjs,Event Handling,Dom Events,这是我的代码,在组件中使用,但当我路由到另一个URL时,控制台会给我错误消息- 错误 警告:无法对已卸载的组件执行React状态更新。 这是一个no-op,但它表示应用程序中存在内存泄漏。 若要修复,请取消中的所有订阅和异步任务 componentWillUnmount方法 不知道为什么会这样!当我硬刷新并转到任何其他路由时,会出现此错误 因为我使用的是箭头函数,所以我不需要在安装时使用.bind。您是否在onWindowscroll函数中执行任何状态更新?是@Siddharth,但只有在一种情

这是我的代码,在组件中使用,但当我路由到另一个URL时,控制台会给我错误消息-

错误

警告:无法对已卸载的组件执行React状态更新。 这是一个no-op,但它表示应用程序中存在内存泄漏。 若要修复,请取消中的所有订阅和异步任务 componentWillUnmount方法

不知道为什么会这样!当我硬刷新并转到任何其他路由时,会出现此错误


因为我使用的是箭头函数,所以我不需要在安装时使用
.bind

您是否在
onWindowscroll
函数中执行任何状态更新?是@Siddharth,但只有在一种情况下,当我的滚动到达页面底部时。否则不行,如果我没有到达底部并在应用程序中转到其他地方,那么错误就在前面出现。您不能调用像arrow函数这样的生命周期方法。
async componentDidMount(){}

  componentDidMount = async () => {
   // await myAPI call
   window.addEventListener("scroll", this.onWindowscroll);
  }

  onWindowscroll = async () => {
    console.log('onWindowscroll);
    // await myAPI call when scroll reach to bottom.
  }

  componentWillUnmount = () => {
    window.removeEventListener('scroll', this.onWindowscroll);
    console.log('componentWillUnmount H');
  }