天天看點

react踩坑記錄

1. 在使用reacthook-useeffect的坑

業務需要在元件渲染開始進行監聽浏覽器後退事件,使用window.addeventlistener監聽 ‘popstate’ 事件,本想着利用 useeffect的特性,在傳回的箭頭函數中 使用 window.removeeventlistener 去掉事件監聽。

想法完全沒有問題,但是萬萬沒想到,在浏覽器後退時會觸發元件銷毀生命周期,useeffect直接執行傳回的函數,将事件解綁了,相當于我綁了個寂寞。測試了多次才發現是這個執行事件問題。