로그인후 백버튼에서 로그인 안나오개하기 SVELTEKIT

임종필·2022년 5월 16일
1

svelte

목록 보기
5/7

백버튼눌러서 로그인 페이지 안나오게하기

로그인한후에 백버튼을 누르다보면 다시 로그인 페이지가 나오게 됩니다. 그래서 백버튼을 일일이 주소를 기입하는 경우도 있는데요. 간단하게 로그인 페이지로 백버튼을 회피하는 방법을 알아보고자합니다.

 	import { goto } from '$app/navigation';
	
    goto('/',{replaceState:true}) 

SVELTEKIT에서는 navigation 기능을 제공합니다.

아마 그전에는 백버튼으로 로그인 안가기 위해 window.replace()를 사용했을 텐데요. 스벨트킷에서는 이 기능이 막혀있습니다.
되는 경우도 있을 수 있는데, url은 변경되지만 페이지는 그대로 멈춰 있게됩니다.

그래서 goto option으로 replaceState 를 설정할 수 있는 기능이 있습니다.

로그인 페이지로 넘어갈때

	import { goto } from '$app/navigation';
	goto('/login', {replaceState:true})

이렇게 넣어주시면
replace()를 사용한 것 처럼 히스토리에 저장하지 않게 됩니다.

그리고 로그인 이후에 이동할 페이지에도

	import { goto } from '$app/navigation';
	goto('/', {replaceState:true})

이렇게 넣어주면
백버튼 눌러 창을 닫거나 앱을 닫기 할때 첫페이지가 두번 로딩되는 것을 방지하여 한번 깜박하는 것처럼 보이는 현상을 없앨 수 있습니다.

로그인 페이지 오픈할 때한번,
로그인 이후에 이동할 때 한번 이렇게 두번
replaceState:true 사용하시면 됩니다.

profile
프롭테크 프로그래머

0개의 댓글