Turn Virtual DOM nodes into HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.travis.yml
LICENSE
README.md
create-attribute.js
index.js
package.json
property-config.js
void-elements.js

README.md

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>'