useUnmount

組件卸載的時候執行

useUnmount 在元件卸載時執行一個回呼函式。它是 useEffect 清理函式的語義化封裝,讓卸載時的清理意圖更加清晰。回呼始終使用最新的 props 和 state 呼叫。

使用場景

  • 在元件卸載時清理訂閱、計時器或事件監聽器
  • 傳送分析事件記錄元件的卸載
  • 釋放外部資源(例如中止進行中的請求、關閉連線)

注意事項

  • 最新值:回呼始終使用元件最新的 props 和 state 呼叫,不存在閉包過時問題。
  • 僅卸載:回呼只在元件卸載時呼叫,不在依賴變更時呼叫。
  • 相關 hooks:另請參閱 useMount 用於元件掛載時的回呼,以及 useEffect 用於更通用的生命週期管理。

Usage

Live Editor

function Demo() {
  const [value] = useState("已掛載");
  useUnmount(() => {
    alert("已卸載");
  });
  return <div>{value}</div>;
};
Result

API

useUnmount

Returns

void

Arguments

參數名描述類型預設值
fn清理函数() => void (必填)-