[英]How to call a function after a component has been unmounted?
我有一個組件會在某個時候調用browserHistory.push(url),在卸載該組件並安裝下一個組件之后,我需要調用一個函數。 目前,我正在使用setTimeout,因為似乎卸載組件會立即觸發所有setTimeouts。 有更好的方法嗎?
我不確定該函數的功能,但是最好的方法是在下一個組件的componentDidMount
中調用它。
如果執行條件渲染,則可以使用父組件來調用該函數。 您也可以像@Hasan所說的那樣在下一個組件中使用componentDidMount
。
您應該閱讀react https://reactjs.org/docs/state-and-lifecycle.html的生命周期文檔
供您使用的主要兩種方法是componentDidMount。 您可以在推送URL后呈現的下一個組件的此方法內調用函數。 顯然,您的舊組件當時已卸載。
我目前只能建議這種方法。 也許您的函數具有不同的依賴關系,這需要在舊組件本身中進行調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.