<AgGridSample v-for="agGrid in agGrids" :key="agGrid.id" @grid-ready="onGridReady"></AgGridSample>
위 코드에서
const newAgGrid = { id: newId };
this.agGrids.push(newAgGrid);
agGrids에 데이터를 넣어 주었을 때 무한루프가 발생하여 컴포넌트가 여러개 추가되었습니다.
컴포넌트의 재랜더링을 방지하기 위해 적절한 key 값을 설정해야 합니다.
<div v-for="agGrid in agGrids" :key="agGrid.id">
<AgGridSample @grid-ready="onGridReady"></AgGridSample>
</div>
v-for문을 컴포넌트에 직접 걸면 해당 코드가 컴포넌트로 대체 될 때 key속성이 사라지기 때문에 이렇게 div로 감싸서 key를 사용해야합니다.
'Frontend > vue3' 카테고리의 다른 글
[Vue3] 컴포넌트 동적 로드와 내용 교체: component 와 :is, defineAsyncComponent 활용 (1) | 2023.04.14 |
---|---|
[Vue3] setup()와 methods() (0) | 2023.04.09 |
[Vue] modal창 띄우기 (0) | 2023.04.04 |
[Vue] 다른 컴포넌트에서 발생한 이벤트 수신 방법 (AgGrid api) (0) | 2023.04.03 |
[Vue3] TypeError: Cannot read property 'insertBefore' of null (1) | 2023.03.31 |