HyperX
是一个模块,它将标记的模板文字翻译成一个hyperscript
函数,如virtual-dom
.
Snabbdom
使用类似超脚本的函数来构建它的 vdom,但它的第二个参数是不同的。而不是属性,它的属性被各种“模块”使用;
h('div', {
props: {title: someString}, // snabbdom/modules/props
classes: {selected: isSelected}, // snabbdom/modules/class
on: {click: doSomething}, // snabbdom/modules/eventlisteners
style: {color: someColor} // snabbdom/modules/style
}, ['children']);
是否可以像这样使用hyperx
withsnabbdom
的超标函数:
const h = require('snabbdom/h');
const hyperx = require('hyperx');
const hx = hyperx(h);
let vdom = hx`
<div
title=${someString}
class-selected={isSelected}
on-click={doSomething}
style={({color: someColor})}
>
children
</div>
`;