picodom
HTML
<script src="https://unpkg.com/picodom"></script>
Babel + JSX
/** @jsx h */
const {h, patch} = picodom;
let node
function render(view, state) {
patch(document.body, node, (node = view(state)))
}
function view(state) {
return (
<div>
<h1>{state}</h1>
<input
autofocus
type="text"
value={state}
oninput={e => render(view, e.target.value)}
/>
</div>
)
}
render(view, "Hello!")