삭제 후 홈으로 돌아가는 코드 관련 질문
안녕하세요, "delete로 글 삭제하기" 강의를 듣던 중 궁금한 점이 생겨 질문드립니다.
삭제 후 다시 supabase에서 글 목록을 조회하고, 조회한 글들로 홈 화면의 게시글 목록을 구성하기 위해 goto 대신 location.reload() 함수를 사용하신 내용을 이해했는데요,
홈 화면에서 삭제하는 경우가 아닌 글 조회 후 /read/{diary_id} 경로에서 삭제 버튼을 누르게 되면 해당 경로에서 reload가 되기 때문에 문제가 발생하지 않나요?
따라서 말씀하신 location.reload() 대신 location.href = '/' 만 사용할 수 있는것이 아닌지 여쭤봅니다,
감사합니다!
回答 2
0
시간이 좀 지났긴했지만..
// 홈에서 삭제할 때 페이지 데이터 새로고침
if ($page.url.pathname === '/') {
await invalidateAll();
} else {
goto('/');
}invalidateAll()을 호출하면 사용자 경험이 좀 더 우수합니다.
홈의 +page.server.js만 리로드 한다고 생각하시면 될거에욤 ㅎㅎ
0
안녕하세요, 인프런 AI 인턴입니다. antk7894님.
삭제 후 페이지 경로 문제에 대한 질문을 해주셨네요. 강의에서 언급된 location.reload()와 goto 사용에 대해 혼란스러우신 것 같습니다.
location.reload()는 현재 페이지를 새로고침하는 함수로, 사용 시 현재 보고 있는 페이지의 데이터를 갱신할 수 있습니다. 즉, /read/{diary_id} 경로에서 글을 삭제한 후 새로고침을 하게 된다면, 삭제된 글의 상세 페이지를 다시 불러오게 되므로 문제가 될 수 있습니다. 따라서, 모든 경로에서 적용하기에는 적절하지 않을 수 있습니다.
반면에 location.href = '/'는 루트 경로로 직접 이동하도록 해주는 코드입니다. 따라서 글을 삭제한 후 특정 페이지(예: 홈 화면)로 사용자 경로를 변경하고 싶다면 이 방법이 더 적합할 수 있습니다.
적절한 것은 상황에 따라 다르겠지만, 일반적으로 삭제 후 홈 화면으로 돌아가고자 한다면 location.href = '/'를 쓰는 것이 논리적으로 명확할 수 있습니다.
관련하여 더 많은 예제를 원하신다면, 아래의 답변도 참고하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
1
네, 맞습니다!
글 삭제 후 해당 글이 없어지면 edit 페이지를 찾을 수 없어서 에러가 발생하는게 맞습니다. 삭제 후에는 home 페이지로 리다이렉트 해야 합니다. 삭제 작업이 완료된 후 home으로 이동하도록 하면 문제를 방지할 수 있습니다.
버튼 컴포넌트에서 현재 페이지 새로고침(reload)이 아닌 goto('/')로 홈(글목록)으로 이동시켜 주세요. 그럼 500에러는 사라질 겁니다.
참고로 goto는 svelte 라우터 함수이고 말씀하신 location.href = '/' 를 써도 됩니다.
<button
class="btn"
on:click={
async () => {
await deleteDiary(diary.id);
goto('/'); // 삭제 후 홈 이동
// location.reload(); // 페이지 새로고침
}
}
>
수강생 분과 소통하니 강의가 더욱 흥미로워 지네요!
감사드립니다~
Node 관련 질문입니다
0
19
2
useMutation 적용 후 새로운 글 등록시 content가 안보여요
0
26
2
d-day count소스및 그라비티에서 기술하면 뭔가 내용이 안나오네요
0
16
1
구글 소셜 로그인 후 로그인 시 구글에러
0
23
1
실습중(개인 비용 관리 앱) 문의드려요
0
36
1
6.8 zustand 세션 질문입니다.
0
70
2
2-8강 Websocket server running on port가 안 뜹니다.
0
39
2
next.js 강의에서도 리액트 라이브러리들을 다뤄주시나요?
0
58
2
shadcn에서 radix ui와 base ui 차이는 뭔가요?
0
205
2
updateTodo 함수 생성시 화살표 함수 사용 안하는 이유
0
62
2
4.11 바로 투두 삭제가 안됨 질문
0
74
3
인증 정보가 만료되었을 때 라우트 가드 처리가 궁금합니다!
0
72
2
supabase를 사용하지 않을 경우 세션 데이터의 변경을 감지하고 스토어에 보관하는 방법이 궁금합니다!
0
59
2
4.6 id를 string으로 변경시 오류
0
54
2
리액트 타입스크립트 관련 질문있습니다.
0
53
1
파이어베이스 문의
0
38
2
화면 구성 설명용 도구 이름
0
158
1
영호 좋아요 버튼이 콘솔에는 잘 찍히지만 화면에 렌더링 되지 않습니다.
0
129
2
영화목록 component 만들기 에서 질문이 있습니다.
0
209
3
"hello".toUpperCase() 가 안되는데요.
0
148
1
날짜 포매팅 관련 질문
0
134
1
OnDestroy() 위치 질문
0
146
1
$(리액티브선언문) 으로 setInterval과 clearInterval 를 작성 시 메모리 관련
1
219
1
스벨트킷에 대해서 질문이 있습니다.
0
350
1

