let vertualDom =createElement('ul',{class:'list'},[createElement('ul',{class:'list'},['a']),createElement('ul',{class:'list'},['b']),createElement('ul',{class:'list'},['c'])])
const render =(vnode){let el = document.createElement(vnode.type);return el;}
打印一下:
let vertualDom =createElement('ul',{class:'list'},[createElement('ul',{class:'list'},['a']),createElement('ul',{class:'list'},['b']),createElement('ul',{class:'list'},['c']),])let el =render(vertualDom);console.log(el);
2.有了DOM之后,我們給dom設置屬性.由于屬性可能比較多,
因此我們使用for ... in 拿到鍵和值
使用setAttribute來設置屬性
constrender=(vnode)=>{let el = document.createElement(vnode.type);let props = vnode.type;for(let key in props){el.setAttribute(key, props[key]);}}
檢測一下,改寫vertualDom
let vertualDom =createElement('ul',{class:'list', style:'border:1px solid black'},[createElement('ul',{class:'list'},['a']),createElement('ul',{class:'list'},['b']),createElement('ul',{class:'list'},['c']),])let el =render(vertualDom);
document.body.appendChild(el);
說明:
本篇文章主要做如下事情:
創建一個基本的webpack4.x 項目[報錯]: The mode option has not been set, webpack will fallback to production for this value[報錯]: ERROR in Entry module not found: Error: Can not resolve ./src in D:\L-react\HeiMa\01.webpack-ba…