개발/Svelte 튜토리얼
[Svelte 튜토리얼] Part 1 - Statements
아우르르
2022. 9. 29. 23:15
이번 튜토리얼에서는 여러 구문의 예시를 보여주며 반응형 선언(reactive declaration)의 사용법을 알려줍니다.
첫 번째 예시입니다.
<script>
let count = 0;
$: console.log(`the count is ${count}`);
function handleClick() {
count += 1;
}
</script>
<button on:click={handleClick}>
Clicked {count}
{count === 1 ? 'time' : 'times'}
</button>
반응성을 가지는 변수 count가 console.log 문에 있습니다.
반응형 선언은 한 줄로 이루어진 구문에 반응성을 가지는 변수가 있을 때도 변화를 감지합니다.
따라서 버튼을 눌러 count가 변경되면 이 구문을 통해 문자열을 출력합니다.
두 번째 예시입니다.
<script>
let count = 0;
$: {
console.log(`the count is ${count}`);
alert(`I SAID THE COUNT IS ${count}`);
}
function handleClick() {
count += 1;
}
</script>
<button on:click={handleClick}>
Clicked {count}
{count === 1 ? 'time' : 'times'}
</button>
반응성을 가지는 변수 count가 중괄호로 감싸져 있습니다.
반응형 선언은 중괄호 안에 반응성을 가지는 변수가 있을 때도 변화를 감지합니다.
그래서 반응형 선언으로 한 줄 이상의 코드도 감지하여 실행할 수 있습니다.
따라서 버튼을 눌러 count가 변경되면 이 코드 블록을 통해 문자열을 출력하고 알림 메시지를 띄웁니다.
마지막 예시입니다.
<script>
let count = 0;
$: if (count >= 10) {
alert('count is dangerously high!');
count = 0;
}
function handleClick() {
count += 1;
}
</script>
<button on:click={handleClick}>
Clicked {count}
{count === 1 ? 'time' : 'times'}
</button>
<p>{count} doubled is {doubled}</p>
반응성을 가지는 변수 count가 if 조건문에 있습니다.
반응형 선언은 if 조건문 안에 반응성을 가지는 변수가 있을 때도 변화를 감지합니다.
따라서 버튼을 눌러 count가 변경될 때마다 조건을 판별합니다.
튜토리얼의 답은 세 번째 예시와 같습니다.