인프런 커뮤니티 질문&답변

무결 조님의 프로필 이미지

작성한 질문수

Next + React Query로 SNS 서비스 만들기

history stack 에서 특정 item제거하기

24.01.09 18:16 작성

·

1.1K

·

수정됨

0

상황 :

router

a-> b-> c-> d-> c 로 이동 했을 때
c에서 뒤로가기 이벤트가 발생하면 (혹은 뒤로가기를 누르면) b 로 이동 하도록 구현하고자 합니다.

다만 d에서 뒤로가기 시에는 c로 이동하길 원합니다.
현재 구현 상태는
c : router.push(d)

d : router.replace(c)
이 방법은 c 에서 뒤로가기를 눌러도 c로 가버리는 한계가 있습니다.

따라서, replace(c) 이전에 history에서 직접 c를 제거해 주는 방법을 생각 중인데, (앱 개발할 때 가능했던 기억이 있어서) 검색을 해도 답을 찾지 못하고 있습니다.

답변 주시면 감사하겠습니다 !

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 01. 09. 18:58

브라우저에서는 히스토리의 특정 아이템을 제거할 수는 없습니다(조회도 안 됩니다).

popState 이벤트에서 이전 페이지와 지금 페이지의 주소가 같으면 한 번 더 뒤로가기 하면되지않나 싶긴 합니다.