window.location.reload(); 후 antd의 message.success('로그아웃 되었습니다.'); 가 나타나지 않는 현상
로그아웃 직후 navigate('/')와 window.location.reload();가 실행된다. 이 때문에 페이지가 너무 빨리 새로고침되어 메시지가 표시되기 전에 사라질 수 있다. 임시로 window.location.reload();를 주석 처리하고 테스트해보았다.
navigate('/');
// alert('로그아웃 되었습니다.');
message.success('로그아웃 되었습니다.');
window.location.reload();
알 수 없지만 alert은 작동이 된다.
그러나 자동으로 네이버 로그인이 되어버리는 현상 때문에 window.location.reload();를 사용해야한다.
window.location.reload();를 사용하면, message.success가 호출된 후에 메시지가 바로 사라지게 되므로 지금처럼 유저가 메시지를 볼 수 없다.
이를 해결하기 위해서 setTimeout 함수를 사용하여 딜레이를 추가하기로 했다.
message.success('로그아웃 되었습니다.');
setTimeout(() => {
window.location.reload();
}, 1000); // 1000ms (1초) 후에 새로고침