2017-02-17 80 views
1

我有一個React組件創建一個事件監聽器,並顯示一個鏈接列表。一旦用戶點擊鏈接,componentWillUnmount方法被調用並顯示一個新頁面。我的組件在卸載後繼續運行並處理事件。當我跟蹤我的控件是否被掛載並且通過基於掛載/卸載狀態的道具調用傳入的函數時,這會按預期工作。React組件可以在卸載狀態下使用嗎?

似乎一切正常,但我已閱讀React文檔,「在卸載組件之前立即調用componentWillUnmount(),並且銷燬」。我也意識到isMounted是一種反模式,所以我正在跟蹤控制是否自己安裝。在我的組件被銷燬之前,還是我的事件監聽器不讓其銷燬,這只是一個時間問題?

回答

1

我認爲針對您的問題的解決方案是使用類似Redux的庫。它將爲您處理您的狀態和操作,因此您不必擔心處於卸載狀態的組件。

這就是說,這實際上是React中已知的內存泄漏問題。您可以看到問題here

相關問題