JSFiddle - React, Tailwind, and code Playground

by Rico Sta. Cruz

HTML

<script src="https://brcdn.org/T8HYri3JazBA7d6T2iVx8fRY.js"></script>

JavaScript

var element = deku.element;
var createRenderer = deku.dom.createRenderer;

window.state = {counter: 0};
var render = createRenderer(document.body, dispatch);



var handle = function (dispatch, path) {
	return function () {
		dispatch();
		console.log("handled for", path);
	};
};

var MyButton = {
	render: function (model) {
		return element("button", {onClick: handle(model.dispatch, model.path)}, "" + model.context.counter + "/", model.children);
	}
};

function dispatch() {
	window.state = {counter: window.state.counter + 1};
	render(element("div", {}, element(MyButton, {}, "Hello World!"), element(MyButton, {}, "Hello Moon!")), window.state);
}

dispatch();