题解 | #虚拟DOM#
虚拟DOM
https://www.nowcoder.com/practice/a283d2c284ed49468c3b0f6ec0312b0f
const _createElm = vnode => {
// 补全代码
function createElm(vnode) {
let result =
`<${vnode.tag} ${Object.keys(vnode.props).length ? 'class=' + vnode.props.class : ''}>${vnode.text}${vnode.children.length ? vnode.children.map(item => createElm(item)).join('') : ''}</${vnode.tag}>`
return result
}
const newResult = createElm(vnode)
const parser = new DOMParser();
// 使用 DOMParser 解析字符串并创建 Document 对象
const doc = parser.parseFromString(newResult, 'text/html');
// 从 Document 对象中获取解析后的 DOM 元素
const ulElement = doc.querySelector('ul');
return ulElement
}
// 递归吧,递归到我自己都傻了