Skip to content

ntharim/vdom-to-html

Repository files navigation

vdom-to-html

NPM version Github release Build status Test coverage Dependency Status License

Turn virtual-dom nodes into HTML

Installation

npm install --save vdom-to-html

Usage

var VNode = require('virtual-dom/vnode/vnode');
var toHTML = require('vdom-to-html');

toHTML(new VNode('input', { className: 'name', type: 'text' }));
// => '<input class="name" type="text">'

Special case for Widgets

Widgets are used to take control of the patching process, allowing the user to create stateful components, control sub-tree rendering, and hook into element removal. Documentation is available here.

Widgets are given an opportunity to provide a vdom representation through an optional render method. If the render method is not found an empty string will be used instead.

var Widget = function(text) {
  this.text = text;
}
Widget.prototype.type = 'Widget';
// provide a vdom representation of the widget
Widget.prototype.render = function() {
  return new VNode('span', null, [new VText(this.text)]);
};
// other widget prototype methods would be implemented

toHTML(new Widget('hello'));
// => '<span>hello</span>'