diff --git a/optuna_dashboard/ts/action.ts b/optuna_dashboard/ts/action.ts index 04c3532b..ff66b8e9 100644 --- a/optuna_dashboard/ts/action.ts +++ b/optuna_dashboard/ts/action.ts @@ -235,6 +235,9 @@ export const actionCreator = () => { } const updateStudyDetail = (studyId: number) => { + if (studyDetailLoading[studyId]) { + return + } setStudyDetailLoading({ ...studyDetailLoading, [studyId]: true }) let nLocalFixedTrials = 0 if (studyId in studyDetails) { diff --git a/optuna_dashboard/ts/components/StudyDetail.tsx b/optuna_dashboard/ts/components/StudyDetail.tsx index eaa17bb0..7a29c63e 100644 --- a/optuna_dashboard/ts/components/StudyDetail.tsx +++ b/optuna_dashboard/ts/components/StudyDetail.tsx @@ -54,9 +54,6 @@ export const StudyDetail: FC<{ const action = actionCreator() const studyId = useURLVars() const studyDetail = useStudyDetailValue(studyId) - const isLoading = useRecoilValue>( - studyDetailLoadingState - ) const reloadInterval = useRecoilValue(reloadIntervalState) const studyName = useStudyName(studyId) const isPreferential = useStudyIsPreferential(studyId) @@ -65,9 +62,7 @@ export const StudyDetail: FC<{ studyName !== null ? `${studyName} (id=${studyId})` : `Study #${studyId}` useEffect(() => { - if (!isLoading[studyId]) { - action.updateStudyDetail(studyId) - } + action.updateStudyDetail(studyId) action.updateAPIMeta() }, []) @@ -92,9 +87,7 @@ export const StudyDetail: FC<{ } const intervalId = setInterval(function () { - if (!isLoading[studyId]) { - action.updateStudyDetail(studyId) - } + action.updateStudyDetail(studyId) }, interval) return () => clearInterval(intervalId) }, [reloadInterval, studyDetail, page])