Not getting callback after adding an event listener for scroll event in React.js
Your code looks good, so it's probably not the window itself that is scrolling. Is the table placed inside a div
or something that has overflow: auto
or overflow:scroll
? If so, the listener must be attached to the actual element that is scrolling, e.g.
document.querySelector('.table-wrapper')
.addEventListener('scroll', this.handleScroll);
If this is the case, then just adding a React onScroll handler to the wrapper in your code would be better
<div onScroll={this.handleScroll}><Table....
For me the only thing that worked was adding true
to the third argument in the EventListener
:
componentDidMount() {
window.addEventListener('scroll', this.handleScroll, true);
}
componentWillUnmount() {
window.removeEventListener('scroll', this.handleScroll, true);
}
Source: https://github.com/facebook/react/issues/5042#issuecomment-145317519