frontend 속도 개선
This commit is contained in:
@@ -120,7 +120,11 @@ export function invalidateIndicatorSettingsCache() {
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
export function useIndicatorSettings(sessionKey = 0) {
|
||||
/**
|
||||
* @param sessionKey 로그인 세션 키 (변경 시 캐시 무효화 및 재로드)
|
||||
* @param enabled false 이면 DB 로드를 건너뜀 — 차트·전략편집·알림 페이지 진입 시에만 true
|
||||
*/
|
||||
export function useIndicatorSettings(sessionKey = 0, enabled = true) {
|
||||
const [settingsRevision, setSettingsRevision] = useState(0);
|
||||
const [settingsLoaded, setSettingsLoaded] = useState(
|
||||
() => _cache !== null && _visualCache !== null,
|
||||
@@ -130,6 +134,8 @@ export function useIndicatorSettings(sessionKey = 0) {
|
||||
useEffect(() => {
|
||||
const unsub = subscribeIndicatorSettings(() => setSettingsRevision(r => r + 1));
|
||||
|
||||
if (!enabled) return unsub;
|
||||
|
||||
const cacheWarm = _loadedSessionKey === sessionKey
|
||||
&& _cache !== null
|
||||
&& _visualCache !== null;
|
||||
@@ -157,7 +163,7 @@ export function useIndicatorSettings(sessionKey = 0) {
|
||||
setSettingsRevision(r => r + 1);
|
||||
});
|
||||
return unsub;
|
||||
}, [sessionKey]);
|
||||
}, [sessionKey, enabled]);
|
||||
|
||||
// ── 파라미터 ────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
Reference in New Issue
Block a user