谁能解释为什么这会返回 50 到 100 个相同值?我用它来更改函数在特定窗口宽度下的作用



我有以下 React 代码来更改函数在特定窗口宽度下的作用:

const [windowWidth, setWindowWidth] = useState({ winWidth: 0 }); 
useEffect(() => { 
window.addEventListener('resize', () => { 
return setWindowWidth({ winWidth: window.innerWidth }); 
}); 
}, [windowWidth.winWidth]);

控制台只是一遍又一遍地显示1000。我做错了什么?

您正在调用setWindowWidth,这会更改 useImpact 依赖项数组中的windowWidth.winWidth。将多个事件侦听器添加到resize.

您应该传递一个空的依赖数组。

const [windowWidth, setWindowWidth] = useState({ winWidth: 0 }); 
useEffect(() => { 
window.addEventListener('resize', () => { 
return setWindowWidth({ winWidth: window.innerWidth }); 
}); 
}, []); // empty dependency array

相关内容

  • 没有找到相关文章

最新更新