reactjs - 如何用 Next js 听屏幕位置?
问题描述
我尝试听页面的滚动来对我的导航栏进行操作,我 想做的是:如果窗口是滚动的,请将 opaciy 0.5 设置为导航。我的意思是 -> 如果标题 y !==0 所以导航的不透明度为 0.5。
我知道在普通的 js 中,我可以执行类似 window.scroll(y-coord) 的操作来获得每次滚动时的实际位置。但是我如何用 Next js 实现它?(我缩短了代码以便更好地理解。
//////////////////style///////////
const NavHeader = styled.header`
background-color: transparent;
height: 60px;
opacity:1;`;
<NavHeader>
<MainNav>
<p>something to render inside the Navbar
</MainNav>
</NavHeader>
我试过类似的东西:
useEffect(() => {
window.addEventListener("scroll", window.scrollY);
}, []);
但没有工作...
解决方案
我检查了一切正常,您需要记住取消订阅事件。同时查看控制台是否有错误。
import Head from 'next/head'
import {useEffect} from 'react'; // don't forget
...
useEffect(()=>{
const scroll = (event) => {
console.log(window.scrollY)
}
window.addEventListener("scroll", scroll, false);
return () => window.removeEventListener("scroll", scroll, false);
},[])
推荐阅读
- nginx - Nginx Conf 冲突 www 502
- symfony - 如何在 Doctrine 上自定义 FOREIGN KEY 消息?API平台
- python - Docker MYSQL [2003] 无法连接到 MySQL 服务器(111 连接被拒绝)
- javascript - 如何使用 onClick 事件渲染一些 JSX?
- javascript - 无法从 Firebase 检索日期
- python - 终端的 Python 彩色文本
- python - 如何在python中的多个字典列表中查找项目的累积总和
- keycloak - 如何在keyclaok中将子组添加到现有组:找不到404
- javascript - 图表 js 有时找不到 id
- numpy - 内存中的张量流馈送图像