gpt4 book ai didi

javascript - 在 React 的生命周期方法之外添加类名

转载 作者:行者123 更新时间:2023-11-28 03:28:51 25 4
gpt4 key购买 nike

我正在尝试向 React 中的组件添加一个类,

  componentDidMount() {
console.log(document.getElementById('mainNav').scrollTop);

let element = document.getElementById('mainNav')
if (element.scrollTop > 100) {
element.classList.add("navbar-scrolled")
}

}

我很欣赏这不起作用,因为当安装组件时,scrollTop = 0并且没有检查它,因此不会在滚动时被拾取...

我的问题是,我应该把它放在哪里以确保它在滚动时被拾取,如何在发生变化时动态检查scrollTop?

最佳答案

将其放入scroll监听器中:

componentDidMount() {
let element = document.getElementById('mainNav')
this.scrollListener = () => {
if (element.scrollTop > 100) {
element.classList.add("navbar-scrolled");
}
}
window.addEventListener("scroll", this.scrollListener);
}

componentWillUnmount() {
window.removeEventListener("scroll", this.scrollListener);
}

关于javascript - 在 React 的生命周期方法之外添加类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58357901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com