Files
skytek_xinliang 915f3b7f2f fix: abort機制
2026-06-01 14:50:47 +08:00

1.0 KiB

Stores Guide

stores 使用 Pinia 管理跨頁共享狀態、快取與全域顯示狀態。單一頁面暫時 UI 狀態應留在 page driver、component 或 composable。

放進 Store 的情況

  • auth/session
  • menu/favorites/breadcrumbs
  • snackbar/messages
  • 跨頁共享資料快取
  • 多個頁面都需要讀寫的 domain state

不放進 Store 的情況

  • dialog visible
  • 單一頁搜尋條件
  • 單一頁分頁狀態
  • 單一表單 dirty / validation
  • 單一頁 loading/error

資料流

store 可以呼叫 service module。component 不應繞過 store/composable 直接處理 token、session 或 HTTP hooks。

請求取消慣例

  • 需要避免重複提交或快速切換造成的舊請求殘留時,在 store 層管理 AbortController
  • 同一類請求使用固定 key(例如 auth/loginmenu/get-menu),新請求前先取消舊請求。
  • service module 只接收 signal,不管理 controller lifecycle。
  • store 在 finally 清理該 key,在 clear/logout 清理全部 key。