有人可以解释这个VirtualDOM概念吗?

时间:2017-05-07 00:56:40

标签: javascript dom jsx virtual-dom

我正在阅读this Medium article关于创建自己的VirtualDOM并理解它,直到我遇到this JSfiddle,特别是第14行,其中显示$el.appendChild.bind($el);。看起来他试图appendChild没有任何参数(仅使用$ el作为this值)!我很困惑。有人可以解释一下吗?

以下是代码:

/** @jsx h */

function h(type, props, ...children) {
  return { type, props, children };
}

function createElement(node) {
  if (typeof node === 'string') {
    return document.createTextNode(node);
  }
  const $el = document.createElement(node.type);
  node.children
    .map(createElement)
    .forEach($el.appendChild.bind($el));
  return $el;
}

const a = (
  <ul class="list">
    <li>item 1</li>
    <li>item 2</li>
  </ul>
);

const $root = document.getElementById('root');
$root.appendChild(createElement(a));

0 个答案:

没有答案