JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/maquette/2.4.1/maquette.min.js"></script>
JavaScript
const h = maquette.h;
var state = "Idle";
var users = [];
async function onButtonClick(e){
state = "Fetching...";
projector.scheduleRender();
const res = await fetch("https://api.github.com/users");
users = await res.json();
state = "Complete.";
projector.scheduleRender();
}
function render(){
return h("body", [
h("p", state),
h("button", { onclick: onButtonClick }, "Fetch Users"),
h("ul", users.map(user => h("li", { key: user.login }, user.login)))
]);
}
const projector = maquette.createProjector();
projector.merge(document.body, render);