지붕형상 설정 시 undo redo 되도록 수정
This commit is contained in:
parent
9de3424cdf
commit
77de97eef1
@ -1,6 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import { useContext, useEffect, useState } from 'react'
|
||||
import { useContext, useEffect, useRef, useState } from 'react'
|
||||
import { usePathname, useRouter } from 'next/navigation'
|
||||
|
||||
import { useRecoilState, useResetRecoilState, useSetRecoilState } from 'recoil'
|
||||
@ -475,13 +475,19 @@ export function usePlan(params = {}) {
|
||||
}
|
||||
}
|
||||
|
||||
// usePlan() 인스턴스가 새로 mount 될 때 clearStacks 가 실수로 호출되지 않도록
|
||||
// 직전 플랜 id 를 ref 로 보관하고, 실제 id 변경이 일어났을 때만 스택을 비운다.
|
||||
const prevPlanIdRef = useRef(currentCanvasPlan?.id)
|
||||
useEffect(() => {
|
||||
setSelectedPlan(currentCanvasPlan)
|
||||
handleCurrentPlanUrl()
|
||||
// resetCurrentObject()
|
||||
resetModuleSetupSurface()
|
||||
// 플랜 전환 시 이전 플랜의 undo/redo 히스토리는 의미가 없으므로 초기화한다.
|
||||
clearStacks()
|
||||
// 플랜 ID가 실제로 바뀐 경우에만 undo/redo 히스토리를 초기화한다.
|
||||
if (prevPlanIdRef.current !== currentCanvasPlan?.id) {
|
||||
clearStacks()
|
||||
prevPlanIdRef.current = currentCanvasPlan?.id
|
||||
}
|
||||
}, [currentCanvasPlan])
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user