在useEffect中写入window.removeEventListener没有生效,代码如下
useEffect(() => {
const handleResize = () => {
console.log(window.innerWidth, window.innerHeight
文章讲述了在React组件中使用useEffect添加和移除resize事件监听器时,如果不正确处理,会导致事件监听未生效。原因是React的更新机制使得回调函数在每次渲染时都可能是新创建的。解决方法是使用useCallback或useRef来确保回调函数在更新时被缓存或保持不变。
在useEffect中写入window.removeEventListener没有生效,代码如下
useEffect(() => {
const handleResize = () => {
console.log(window.innerWidth, window.innerHeight

被折叠的 条评论
为什么被折叠?