var diff = require('virtual-dom/diff'); var patch = require('virtual-dom/patch'); var createElement = require('virtual-dom/create-element'); var virtualize = require('vdom-virtualize'); // 1: Create a function that declares what the DOM should look like function render(count) { var html = '
Count is ' + count + '
'; return virtualize.fromHTML(html); } // 2: Initialise the document var count = 0; // We need some app data. Here we just store a count. var tree = render(count); // We need an initial tree var rootNode = createElement(tree); // Create an initial root DOM node ... document.body.appendChild(rootNode); // ... and it should be in the document // 3: Wire up the update logic setInterval(function update(){ count++; var newTree = render(count); var patches = diff(tree, newTree); patch(rootNode, patches); }, 500);