강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

antk7894 のプロフィール画像
antk7894

投稿した質問数

プロジェクトで簡単に学ぶSvelte(SvelteKit + Supabase)

時間経過時にイベントウィンドウのテキストを切り替える 2/2

OnDestroy() 위치 질문

解決済みの質問

作成

·

142

0

안녕하세요,

강의에서 메모리 절약을 위해 인터벌을 제거하는 내용을 듣던 중 궁금한 점이 생겼는데요

 

만약 이벤트창이 닫혔을 때 인터벌을 종료시키고 싶다면 App.svelte가 아닌 Event.svelte 내에 OnDestroy를 작성해주면 되는거겠죠?

App.svelte에 OnDestroy를 작성하신 이유는 이벤트 인덱스를 증가시키는 로직과 이벤트 텍스트 관리를 App.svelte에서 하고있으니 이벤트 창이 열리거나 닫힌 여부와는 상관 없이 App.svelte가 살아있는 동안에는 계속 이벤트배열 인덱스를 증가시키기 위해라고 이해했는데 제가 이해한 내용이 맞을까요??

 

sveltesveltekitsupabase

回答 1

0

Michael Kwon님의 프로필 이미지
Michael Kwon
インストラクター

안녕하세요?

이벤트 창이 닫혀서 인터벌이 동작할 필요가 없으니 바로 해제하고자 하는 의도이신 듯 합니다.

예제에서 인터벌 함수는 App에서 작동하고 있으니 해당하는 컴포넌트(App)에서 중단시켜야 합니다.

isEvent라는 상태변수를 참고하시어 false 인 경우 창이 닫힐 때 clearInterval을 해주고

true인 경우(창이 보일 때) 인터벌을 다시 실행하는 방법이 좋을 듯 합니다~

antk7894님의 프로필 이미지
antk7894
質問者

아 이해했습니다, 감사합니다!

antk7894 のプロフィール画像
antk7894

投稿した質問数

質問する