From 440a65539543fd2e871f279420d3e1e6aa23345c Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Sat, 15 Feb 2025 18:33:05 +0300 Subject: [PATCH] R: Remove redundant useEffects --- .../src/features/home/DatabaseSchemaPage.tsx | 4 ++-- .../frontend/src/features/home/HomePage.tsx | 23 +++++-------------- .../features/oss/pages/OssPage/OssTabs.tsx | 6 ++--- .../rsform/pages/RSFormPage/RSTabs.tsx | 6 ++--- 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/rsconcept/frontend/src/features/home/DatabaseSchemaPage.tsx b/rsconcept/frontend/src/features/home/DatabaseSchemaPage.tsx index 0a47cede..cd5778f5 100644 --- a/rsconcept/frontend/src/features/home/DatabaseSchemaPage.tsx +++ b/rsconcept/frontend/src/features/home/DatabaseSchemaPage.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect } from 'react'; +import { useLayoutEffect } from 'react'; import { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch'; import { useAppLayoutStore, useFitHeight } from '@/stores/appLayout'; @@ -10,7 +10,7 @@ export function Component() { const hideFooter = useAppLayoutStore(state => state.hideFooter); const panelHeight = useFitHeight('0px'); - useEffect(() => { + useLayoutEffect(() => { hideFooter(true); return () => hideFooter(false); }, [hideFooter]); diff --git a/rsconcept/frontend/src/features/home/HomePage.tsx b/rsconcept/frontend/src/features/home/HomePage.tsx index c2575989..6f9e72d2 100644 --- a/rsconcept/frontend/src/features/home/HomePage.tsx +++ b/rsconcept/frontend/src/features/home/HomePage.tsx @@ -1,28 +1,17 @@ -import { useEffect } from 'react'; - import { urls, useConceptNavigation } from '@/app'; import { useAuthSuspense } from '@/features/auth'; -import { Loader } from '@/components/Loader'; -import { PARAMETER } from '@/utils/constants'; - function HomePage() { const router = useConceptNavigation(); const { isAnonymous } = useAuthSuspense(); - useEffect(() => { - if (isAnonymous) { - setTimeout(() => { - router.replace(urls.manuals); - }, PARAMETER.refreshTimeout); - } else { - setTimeout(() => { - router.replace(urls.library); - }, PARAMETER.refreshTimeout); - } - }, [router, isAnonymous]); + if (isAnonymous) { + router.replace(urls.manuals); + } else { + router.replace(urls.library); + } - return ; + return null; } export default HomePage; diff --git a/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx b/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx index 47475f8d..699b7162 100644 --- a/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx +++ b/rsconcept/frontend/src/features/oss/pages/OssPage/OssTabs.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect } from 'react'; +import { useLayoutEffect } from 'react'; import clsx from 'clsx'; import { useConceptNavigation } from '@/app/Navigation/NavigationContext'; @@ -24,7 +24,7 @@ function OssTabs({ activeTab }: OssTabsProps) { const hideFooter = useAppLayoutStore(state => state.hideFooter); - useEffect(() => { + useLayoutEffect(() => { const oldTitle = document.title; document.title = schema.title; return () => { @@ -32,7 +32,7 @@ function OssTabs({ activeTab }: OssTabsProps) { }; }, [schema.title]); - useEffect(() => { + useLayoutEffect(() => { hideFooter(activeTab === OssTabID.GRAPH); }, [activeTab, hideFooter]); diff --git a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx index 510dec29..2e432692 100644 --- a/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/RSFormPage/RSTabs.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useEffect } from 'react'; +import { useLayoutEffect } from 'react'; import clsx from 'clsx'; import { useConceptNavigation } from '@/app/Navigation/NavigationContext'; @@ -31,7 +31,7 @@ function RSTabs({ activeID, activeTab }: RSTabsProps) { const { setIsModified } = useModificationStore(); const { schema, selected, setSelected, navigateRSForm } = useRSEdit(); - useEffect(() => { + useLayoutEffect(() => { const oldTitle = document.title; document.title = schema.title; return () => { @@ -39,7 +39,7 @@ function RSTabs({ activeID, activeTab }: RSTabsProps) { }; }, [schema.title]); - useEffect(() => { + useLayoutEffect(() => { hideFooter(activeTab !== RSTabID.CARD); setIsModified(false); if (activeTab === RSTabID.CST_EDIT) {