Node.js 无法在react.js中u0.debounce和更改状态
我正在尝试使用lodash的去盎司方法来切换一个位于滚动发生500毫秒后状态的布尔值 我一直在寻找答案,但这些都没有帮助我解决这个问题。这似乎相当简单,所以可能有一些我没有得到 国家是:Node.js 无法在react.js中u0.debounce和更改状态,node.js,reactjs,lodash,Node.js,Reactjs,Lodash,我正在尝试使用lodash的去盎司方法来切换一个位于滚动发生500毫秒后状态的布尔值 我一直在寻找答案,但这些都没有帮助我解决这个问题。这似乎相当简单,所以可能有一些我没有得到 国家是: constructor(props) { super(props); this.state = { isScrolling: false } } 安装部件的组件为: componentDidMount(){ window.addEventListener(
constructor(props) {
super(props);
this.state = {
isScrolling: false
}
}
安装部件的组件为:
componentDidMount(){
window.addEventListener('scroll', this.handleScroll, true);
window.addEventListener('scroll', _.debounce(() => {
this.setState({
isScrolling: false
})
}, 500))
}
滚动功能是:
handleScroll = (event) => {
this.setState({
isScrolling: true
})
};
在我的rect chrome开发工具中,我看到当我开始滚动时,
isScrolling
正在切换为true,但是debounce
方法不会再次将它切换为false。我做错了什么?编辑-我的代码是正确的,但这段css代码阻止了正确的行为发生:
html, body {
height:100%;
}
你的代码是正确的,我把它复制到了一个。一定是别的原因。