fix(WEB): StepDetailClient mode 판별을 useMemo로 변경
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
* - /[id]/steps/new → 등록
|
* - /[id]/steps/new → 등록
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect, useMemo } from 'react';
|
||||||
import { useSearchParams } from 'next/navigation';
|
import { useSearchParams } from 'next/navigation';
|
||||||
import { StepDetail } from './StepDetail';
|
import { StepDetail } from './StepDetail';
|
||||||
import { StepForm } from './StepForm';
|
import { StepForm } from './StepForm';
|
||||||
@@ -31,11 +31,11 @@ export function StepDetailClient({ processId, stepId }: StepDetailClientProps) {
|
|||||||
const modeFromQuery = searchParams.get('mode') as DetailMode | null;
|
const modeFromQuery = searchParams.get('mode') as DetailMode | null;
|
||||||
const isNewMode = stepId === 'new';
|
const isNewMode = stepId === 'new';
|
||||||
|
|
||||||
const [mode] = useState<DetailMode>(() => {
|
const mode = useMemo<DetailMode>(() => {
|
||||||
if (isNewMode) return 'create';
|
if (isNewMode) return 'create';
|
||||||
if (modeFromQuery === 'edit') return 'edit';
|
if (modeFromQuery === 'edit') return 'edit';
|
||||||
return 'view';
|
return 'view';
|
||||||
});
|
}, [isNewMode, modeFromQuery]);
|
||||||
|
|
||||||
const [stepData, setStepData] = useState<ProcessStep | null>(null);
|
const [stepData, setStepData] = useState<ProcessStep | null>(null);
|
||||||
const [isLoading, setIsLoading] = useState(!isNewMode);
|
const [isLoading, setIsLoading] = useState(!isNewMode);
|
||||||
|
|||||||
Reference in New Issue
Block a user