簡體   English   中英

卸載組件后如何調用函數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM