[javascript] Svelte에서 로딩 상태를 처리하는 방법은 어떻게 되나요?
Svelte는 사용자 인터페이스를 더욱 직관적이고 효율적으로 만들 수 있는 프론트엔드 프레임워크입니다. 로딩 상태를 처리하려면 Svelte에서 제공하는 상태 변수 및 조건부 렌더링을 사용할 수 있습니다.
먼저, 로딩 상태를 나타내기 위해 Svelte 컴포넌트 내에 isLoading
과 같은 상태 변수를 설정합니다.
<script>
let isLoading = false;
function fetchData() {
isLoading = true;
// 비동기 작업을 수행하고 데이터를 가져옵니다.
// 데이터 가져오기가 완료되면 isLoading을 false로 설정합니다.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
// 데이터 가져오기 완료
isLoading = false;
// 가져온 데이터를 처리합니다.
})
.catch(error => {
// 에러 처리
isLoading = false;
});
}
</script>
위의 코드에서는 fetchData
함수를 정의하고 이 함수를 호출함으로써 데이터를 가져오는 작업을 수행합니다. isLoading
을 true로 설정하여 로딩 중임을 표시하고, 데이터 가져오기 완료 시 false로 설정하여 로딩이 끝났음을 나타냅니다. 비동기 작업에서 발생하는 에러에 대한 예외 처리도 수행합니다.
그리고 Svelte 컴포넌트의 템플릿 부분에서 isLoading
상태 변수를 사용하여 로딩 상태를 화면에 표시할 수 있습니다.
{#if isLoading}
<p>Loading...</p>
{:else}
<p>Data loaded</p>
{/if}
위의 코드에서는 isLoading
상태 변수를 사용하여 if-else
블록을 생성합니다. isLoading
이 true이면 “로딩 중…“이라는 문구를 표시하고, false이면 “데이터 로드됨”이라는 문구를 표시합니다.
이렇게하면 비동기 작업이 실행되는 동안 로딩 상태를 표시할 수 있고, 데이터가 로드된 후 상태를 변경하여 내용을 업데이트할 수 있습니다.
Svelte를 사용하여 로딩 상태를 처리하는 방법을 살펴보았습니다. 이는 Svelte 컴포넌트의 상태 변수와 조건부 렌더링을 활용하여 간단하게 구현할 수 있는 기능입니다.