tl; dr 向下滚动以获取对我有用的解决方案!
如何在反应中在固定导航栏上实现上下滑动?
使用 refs 或使用 componentDidMount 生命周期钩子的更好方法是什么?
hideNav = (navbar) => {
const hide = () => {
let lastScrollTop = 0;
const currentScrollTop = navbar.scrollTop;
// scroll down
if (currentScrollTop > lastScrollTop) {
navbar.classList.add('hidden');
} else {
// scroll up
navbar.classList.remove('hidden');
}
lastScrollTop = currentScrollTop;
};
window.addEventListener('scroll', hide);
};
Run Code Online (Sandbox Code Playgroud)
...在渲染方法中进一步:
render() {
return <Navbar ref={this.hideNav} />
Run Code Online (Sandbox Code Playgroud)
更新:
解决方案:
class Navbar extends React.Component {
state = {
auth: false,
slide: 0, // How much should the Navbar slide …Run Code Online (Sandbox Code Playgroud)