inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

프로젝트로 쉽게 배우는 Svelte(SvelteKit + Supabase)

delete로 글 삭제하기

삭제 후 홈으로 돌아가는 코드 관련 질문

해결된 질문

157

antk7894

작성한 질문수 3

0

안녕하세요, "delete로 글 삭제하기" 강의를 듣던 중 궁금한 점이 생겨 질문드립니다.

 

삭제 후 다시 supabase에서 글 목록을 조회하고, 조회한 글들로 홈 화면의 게시글 목록을 구성하기 위해 goto 대신 location.reload() 함수를 사용하신 내용을 이해했는데요,

 

홈 화면에서 삭제하는 경우가 아닌 글 조회 후 /read/{diary_id} 경로에서 삭제 버튼을 누르게 되면 해당 경로에서 reload가 되기 때문에 문제가 발생하지 않나요?

 

따라서 말씀하신 location.reload() 대신 location.href = '/' 만 사용할 수 있는것이 아닌지 여쭤봅니다,

감사합니다!

svelte sveltekit supabase

답변 2

0

진형

시간이 좀 지났긴했지만..

// 홈에서 삭제할 때 페이지 데이터 새로고침
      if ($page.url.pathname === '/') {
        await invalidateAll();
      } else {
        goto('/');
      }

invalidateAll()을 호출하면 사용자 경험이 좀 더 우수합니다.
홈의 +page.server.js만 리로드 한다고 생각하시면 될거에욤 ㅎㅎ

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. antk7894님.

삭제 후 페이지 경로 문제에 대한 질문을 해주셨네요. 강의에서 언급된 location.reload()goto 사용에 대해 혼란스러우신 것 같습니다.

location.reload()는 현재 페이지를 새로고침하는 함수로, 사용 시 현재 보고 있는 페이지의 데이터를 갱신할 수 있습니다. 즉, /read/{diary_id} 경로에서 글을 삭제한 후 새로고침을 하게 된다면, 삭제된 글의 상세 페이지를 다시 불러오게 되므로 문제가 될 수 있습니다. 따라서, 모든 경로에서 적용하기에는 적절하지 않을 수 있습니다.

반면에 location.href = '/'는 루트 경로로 직접 이동하도록 해주는 코드입니다. 따라서 글을 삭제한 후 특정 페이지(예: 홈 화면)로 사용자 경로를 변경하고 싶다면 이 방법이 더 적합할 수 있습니다.

적절한 것은 상황에 따라 다르겠지만, 일반적으로 삭제 후 홈 화면으로 돌아가고자 한다면 location.href = '/'를 쓰는 것이 논리적으로 명확할 수 있습니다.

관련하여 더 많은 예제를 원하신다면, 아래의 답변도 참고하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

1

Michael Kwon

네, 맞습니다!

글 삭제 후 해당 글이 없어지면 edit 페이지를 찾을 수 없어서 에러가 발생하는게 맞습니다. 삭제 후에는 home 페이지로 리다이렉트 해야 합니다. 삭제 작업이 완료된 후 home으로 이동하도록 하면 문제를 방지할 수 있습니다.


버튼 컴포넌트에서 현재 페이지 새로고침(reload)이 아닌 goto('/')로 홈(글목록)으로 이동시켜 주세요. 그럼 500에러는 사라질 겁니다.

참고로 goto는 svelte 라우터 함수이고 말씀하신 location.href = '/' 를 써도 됩니다.

 

  <button 
    class="btn" 
    on:click={
      async () => {
        await deleteDiary(diary.id); 
        goto('/'); // 삭제 후 홈 이동
        // location.reload(); // 페이지 새로고침
      }
    }
  >

 

수강생 분과 소통하니 강의가 더욱 흥미로워 지네요!

감사드립니다~

에이전트 에러

0

11

1

커스텀 에이전트 생성하기

0

7

1

클로드 코드 시작하기

0

20

1

Zustand의 Store 타입은 어떤 기준으로 작성하는 건가요?

0

38

2

타입 에러 관련 질문입니다.

1

37

2

마지막 강의 잘림

0

42

1

포스트 작성 중 이탈 방지 기능 (취소 버튼 클릭 시 오류)

0

68

2

"포스트 생성에 실패했습니다" 실패 문구와 함께 에러가 발생합니다ㅠㅠ

0

69

2

플러터 세팅 후 새폴더 생성건

0

61

2

강의 자료는 어디있나요?

0

47

1

supabase mcp로 테이블 생성 보여주실떄

0

62

2

강의자료는 어떻게 제작하시나요?

0

80

2

비밀번호 재설정 1회용 이메일 링크

0

79

1

강의 수강 후 포트폴리오 준비 방향에 대해 조언 부탁드립니다.

2

89

1

cursor ai가 업데이트 되서 ui가 바뀌었는데 반영은 안될까요?

0

83

2

25강 앱 아이콘 만드는 방법에서 그래픽 소스는 어디에 있나요?

0

52

1

화면 구성 설명용 도구 이름

0

175

1

영호 좋아요 버튼이 콘솔에는 잘 찍히지만 화면에 렌더링 되지 않습니다.

0

165

2

영화목록 component 만들기 에서 질문이 있습니다.

0

242

3

"hello".toUpperCase() 가 안되는데요.

0

166

1

날짜 포매팅 관련 질문

0

155

1

OnDestroy() 위치 질문

0

167

1

$(리액티브선언문) 으로 setInterval과 clearInterval 를 작성 시 메모리 관련

1

250

1

스벨트킷에 대해서 질문이 있습니다.

0

368

1