Svelte에서 onDestroy() 수명 주기 함수는 어떻게 작동합니까?
14049 단어 beginnerswebdevsveltejavascript
새 구성 요소
DateAndTimeComponent.svelte
를 만들고 다음 코드를 추가해 보겠습니다.<script>
import { onMount } from 'svelte'
let tasks = []
const url = 'http://time.jsontest.com'
onMount( async () => {
fetch(url)
.then( response => response.json() )
.then( data => { tasks = data } )
});
</script>
<table>
<thead>
<tr>
<th>Date</th>
<th>Epoch Time</th>
<th>Time</th>
</tr>
</thead>
<tr>
<td>{tasks.date}</td>
<td>{tasks.milliseconds_since_epoch}</td>
<td>{tasks.time}</td>
</tr>
</table>
우리는 onMount() 수명 주기 함수만 구현했습니다. onMount를 모른다면 다음 기사를 방문하십시오.
그리고 App.svelte에서 다음을 추가합니다.
<script>
import DateAndTimeComponent from "./DateAndTimeComponent.svelte";
let showComponent = false;
</script>
<main>
{#if showComponent}
<DateAndTimeComponent />
{/if}
</main>
<style>
main {
text-align: center;
padding: 1em;
max-width: 240px;
margin: 0 auto;
}
@media (min-width: 640px) {
main {
max-width: none;
}
}
</style>
webpatehttp://localhost:5000를 방문하면 현재 showComponent 변수가 false이기 때문에 빈 페이지가 표시됩니다.
구성 요소를 표시하는 버튼을 추가할 수 있습니다. onMount는 컴포넌트가 DOM에 로드될 때 한 번만 호출됩니다.
App.svelte
에서 main
태그 아래에 다음을 추가합니다.<script>
....
..
..
..
</script>
<main>
<button on:click={ () => showComponent = !showComponent }>Show Component</button>
{#if showComponent}
<DateAndTimeComponent />
{/if}
</main>
그리고
DateAndTimeComponent.svelte
에서 onDestroy 수명 주기 기능을 추가합니다.
<script>
import { onMount, onDestroy } from 'svelte'
let tasks = []
const url = 'http://time.jsontest.com'
onMount( async () => {
fetch(url)
.then( response => response.json() )
.then( data => { tasks = data } )
});
onDestroy( () => {
console.log("Date Component removed")
});
</script>
<table>
<thead>
<tr>
<th>Date</th>
<th>Epoch Time</th>
<th>Time</th>
</tr>
</thead>
<tbody>
<tr>
<td>{tasks.date}</td>
<td>{tasks.milliseconds_since_epoch}</td>
<td>{tasks.time}</td>
</tr>
</tbody>
</table>
import { onMount, onDestroy } from 'svelte'
보세요그리고
onDestroy( () => {
console.log("Date Component removed")
});
Reference
이 문제에 관하여(Svelte에서 onDestroy() 수명 주기 함수는 어떻게 작동합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/akuks/how-ondestroy-lifecycle-function-works-in-svelte-1ab3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)