Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- PythonProgramming
- 특약
- 웹개발
- 급성심근경색증
- 뇌출혈
- 인출수수료
- 사망
- 프론트엔드
- 추가납입
- 리스트
- 가입
- 문자열
- 교보생명
- 프로그래밍
- 수수료
- javascript
- jQuery
- 납입
- Vue.js
- 교보
- 보험
- 자바스크립트
- 코딩
- python
- Java
- 중도인출
- 파이썬
- 심장질환
- 변환
- 보험료
Archives
- Today
- Total
SeouliteLab
[Vue.js] key를 통한 상태 유지 본문
<template>
<div>
<!-- 첫 번째 예제: key를 사용하지 않는 경우 -->
<ul>
<li v-for="(item, index) in items" :key="index">
{{ item }}
</li>
</ul>
<!-- 두 번째 예제: key를 사용하여 상태를 유지하는 경우 -->
<ul>
<li v-for="item in itemsWithKeys" :key="item.id">
{{ item.name }}
</li>
</ul>
</div>
</template>
<script>
import { reactive } from 'vue';
export default {
setup() {
// key를 사용하지 않은 데이터 배열
const items = reactive(['사과', '바나나', '딸기']);
// key를 사용한 데이터 배열
const itemsWithKeys = reactive([
{ id: 1, name: '사과' },
{ id: 2, name: '바나나' },
{ id: 3, name: '딸기' }
]);
return { items, itemsWithKeys };
}
};
</script>
<style scoped>
/* 컴포넌트에만 적용될 스타일을 작성할 수 있습니다. */
</style>
Vue에서 key를 통한 상태 유지에 대해 알아봅시다.
첫 번째 예제에서는 key를 사용하지 않고 v-for 디렉티브를 사용하여 리스트를 렌더링하는 경우를 보여줍니다. 이 경우 Vue는 인덱스를 기준으로 리스트를 렌더링하게 되는데, 이는 상태를 제대로 유지하지 못할 수 있습니다.
두 번째 예제에서는 key를 사용하여 상태를 유지하는 방법을 보여줍니다. 각 아이템에 고유한 키를 부여하여 Vue가 리스트를 업데이트할 때 아이템의 상태를 제대로 유지할 수 있도록 합니다. 이렇게 하면 Vue가 "in-place patch" 전략을 사용하여 업데이트하며, 리스트 아이템의 순서가 변경되어도 상태가 유지됩니다.
key를 사용하여 상태를 유지하면 Vue가 효율적으로 리스트를 업데이트할 수 있으며, 애플리케이션의 성능과 사용자 경험을 향상시킬 수 있습니다.