front/vue

[vue] cloneVNode()

juniKang 2022. 7. 30. 14:57

vnode를 복제한다.

Type

function cloneVNode(vnode: VNoe, extraProps?: object): VNode

Details

복제된 vnode를 리턴한다. 선택적으로 추가적인 props를 원본에 더해 복제할 수 있다.

 

Vnodes들은 한번 생성되면 불변하게 여겨진다. 그래서 이미 존재하는 vnode의 props를 변화시킬 수 없다. 대신에, 추가적인 props나 다른 props로 복제한다.

 

Vnodes는 특별한 내부 프로퍼티들을 가지고 있어서, 복제품들은 단순히 스프레드('...')로 복제할 수 없다. cloneVnode()가 내부 프로퍼티들을 처리해준다.

 

Example

import { h, cloneVNode } from 'vue'

const original = h('div')
const cloned = cloneVNode(original, { id: 'foo' })